본문 바로가기

전체 글58

c++11에 추가된 기능 - auto 변수 컴파일 타임에 타입이 자동으로 정해지는 변수.따라서 선언시 반드시 바로 초기화를 해줘야한다. ex)int main(){auto Number = 5; //컴파일시 int 형으로 auto Name = "Jong"; //컴파일시 char* 형으로 int iNum = 2;autu* pNumber = &iNum; //컴파일시 int* 형으로} 또한 타입이름이 길고 복잡한 STL에서 효과적로 사용할 수 있다고 한다.for(auto iter = vContainer.begin(); iter != vContainer.end(); ++iter){printf("%d\n", *iter);} 2015. 9. 30.
클래스 전방선언 큰 규모의 프로젝트를 진행할 때 헤더파일들이 많아 지다보면 헤더파일간의 중복 참조로 인해 머리아픈일들이 발생할 때가 있다. 중복참조가 아니더라도 불필요한 헤더참조로 컴파일 속도가 저해 될 수 있다.이 때문에 헤더파일에는 가상의 클래스를 전방선언을 해두고 cpp파일에서 헤더참조를 한다. 사용예 - 헤더파일 코드class A; //전방선언 class B{private: A* m_a; } 2015. 9. 30.
광원의 종류 1. 점 광원(point light)월드 스페이스 내에서 자신의 위치를 가지며 모든 방향으로 빛을 발산하는 광원이다. 점 광원이 존재 할 경우 물체들은 이 점광원과의 거리에 따라 다른 빛을 받는다. 2. 방향성 광원(directional light)월드 스페이스내에서 자신의 위치를 가지지 않고 지정된 방향으로 평행한 빛을 발산한다. 3. 스포트 광원(spot light)손전등의 빛과 비슷하다. 광원은 자신의 위치를 가며 특정한 방향으로 원뿔 형태의 빛을 발산한다. 2015. 9. 28.
광원이 만들어내는 빛의 구성요소 1. Ambient(환경광또는 주변광)다른 표면에 반사되어 전반적인 장면을 밝게 하는 빛을 모델링한다. 예를 들면 광원의 직접적인 시야에 가려져 있더라도 약간의 빛을 받는다. 우리 주변에 동일하게 분포하는 빛을 말하기 때문에 빛의 방향성도 없고 모든 대상 물체의 표면에 동일한 강도로 작용을 하기 때문에 diffuse나 specular가 없다면 모든 대상 오브젝트는 단색으로 나타나게 된다.- 광원의 위치, 관찰자의 위치 모두 상관없다. 2. Diffuse(난반사광)특정한 방향으로 진행하며, 표면에 닿으면 모든 방향으로 동일하게 반사된다.물체가 가진 고유의 색상이라 할 수 있으며 모든 방향으로 동일하게 반사되므로 관찰자의 위치와는 관계없이 관찰자의 눈에 도달하게된다. 오직 광원과의 방향에 따라 빛의 세기가 .. 2015. 9. 28.