목록공부/3D과제 (42)
응애맘마조
프러스텀 컬링 절두체 컬링이라고도 하며 3차원 공간에는 무수히 많은 폴리곤과 오브젝트가 있지만 실제로 카메라의 시야 범위에 포함되는 것들만 렌더링 하고, 나머지는 렌더링 하지 않는 기법을 말합니다. 속도 증가에 대해 가장 중요한 기법입니다. 여기서 절두체는 투영행렬을 계산할 때 범위의 모양이 삼각뿔의 머리를 잘라놓은 것 같아서 절두체라고 하며 총 6개의 평면으로 이루어져 있습니다. 근평면은 카메라와 수직 하며 제일 가까운 곳의 시야를 나타내는 평면입니다. 원평면은 카메라와 수직 하며 제일 먼 곳의 시야를 나타내는 평면입니다. 좌평면은 카메라의 좌측 시야 범위를 나타내는 평면입니다. 우평면은 카메라의 우측 시야 범위를 나타내는 평면입니다. 상평면은 카메라의 상단 시야 범위를 나타내는 평면입니다. 하평면은 ..
미니맵을 만들어 아이콘으로 표기하는 것이 과제였습니다.
조명 효과를 이용해서 손전등과 포인트 라이트를 만드는 것이 과제였습니다. 좌측이 손전등 우측이 포인트 라이트 360˚ 회전은 잘 안되었습니다.
렌더 투 텍스쳐 RTT라고하며 백 버퍼가 아닌 텍스쳐에도 장면을 그릴 수 있게 하는 방법을 제공합니다. 다른 카메라로 본 장면을 텍스쳐에 그려서 거울이나 TV화면의 내용으로 사용할 수 있습니다. 이러한 기법을 이용하는 부분은 동적으로 라이트맵이나 쉐도우 맵을 제작하는 경우가 있습니다. 또 다른 경우 DC의 내용을 텍스쳐로 복사할 수도 있습니다. 메모리 DC에 비트맵을 올리고 최종 결과물을 텍스쳐로 복사합니다. 이 경우 엄밀히는 아닐 수도 있지만 렌더링 한 내용을 텍스쳐로 복사한다는 부분에서는 비슷한 경우라고 볼 수 있습니다. 포스트 이펙트 게임 클라이언트에서 hlsl이나 glsl같은 쉐이더 언어를 사용하여 게임 화면에 후처리를 더하는 것을 의미합니다. 사진을 찍고 포토샵이나 보정 툴을 사용해서 기존 사진..
Directional Light 디렉셔널 라이트는 무한히 먼 거리에 있는 광원에서 오는 빛을 흉내 내는 것입니다. 광원이 빛을 쏘는 방향을 벡터로 나타내고 이 방향벡터를 조명에 계산할 때 빛 벡터로 사용하면 됩니다. 각 방향벡터가 회전한 만큼 방향이 업데이트되고 이 정면 벡터를 빛의 방향벡터로 사용하면 됩니다. 입력으로 정점, 노멀, 색상을 받기에 이 요소들을 적절한 공간으로 이동시키는 연산을 수행시키면 됩니다. VS_OUTPUT main(VS_INPUT input) { VS_OUTPUT output; output.Pos = mul(float4(input.Pos, 1), WorldViewProjection); output.WPos = mul(float4(input.Pos, 1), World); outpu..