목록DirectX3D (93)
응애맘마조
원래 테셀레이션의 더 자세한 설명을 하려고 했었으나 언리얼 엔진으로 넘어가면서 내일 수업부터는 언리얼 엔진으로 나갑니다.
테셀레이션에 대해서 강의했습니다. 삼각형을 여러 개의 조각으로 나누었다고 볼 수 있으며 조각이 늘어났음에도 정점 개수는 그대로이기 때문에 FPS가 줄어들지 않고 많을수록 더 현실적인 그래픽으로 나타낼 수 있습니다. 이번 테셀레이션은 개념적으로만 설명하고 넘어간다고 했습니다. #include "Common.hlsl" struct VertexInput { float4 Position : POSITION0; }; struct CHullOutput { float edgeTessFactor[3] : SV_TessFactor; float insideTessFactor : SV_InsideTessFactor; }; struct HullOutput { float4 Position : POSITION; }; struct..
디퍼드 렌더링에 대해서 강의했습니다. 포워드 렌더링과는 다르게 객체마다 광원 처리를 하는 것이 아닌 모든 객체를 출력하고 광원을 사용해 한 번에 처리하는 방법으로 연산량이 줄어들어 빠르게 출력할 수 있지만 반투명은 처리할 수 없다는 단점이 있습니다. #include "Common.hlsl" struct VertexInput { float4 Position : POSITION0; float2 Uv : UV0; }; struct PixelInput { float4 Position : SV_POSITION; float2 Uv : UV0; }; PixelInput VS(VertexInput input) { PixelInput output; output.Uv = input.Uv; output.Position = ..
물 표현에 있어서 마무리를 지었습니다. hlsl 파일을 2개 사용했습니다. #include "Common.hlsl" struct VertexInput { float4 Position : POSITION0; float2 Uv : UV0; float3 Normal : NORMAL0; float3 Tangent : TANGENT0; //정점변환때만 쓰이는 멤버 float4 Indices : INDICES0; float4 Weights : WEIGHTS0; }; struct GeometryInput { float4 Position : SV_POSITION; float3 wPosition : POSITION0; float2 Uv : UV0; float3 Normal : NORMAL; float3 Tangent :..
어제 기술문서를 이어 1시간을 진행하고 물 표현에 대한 강의를 진행했습니다. 저번에 이어서 굴절에 대해 했었는데 아직 어색한 부분이 있어서 나머지는 내일 진행하고 다음 주부턴 언리얼 엔진을 진행할 것 같다고 했습니다. float3 Envi = float3(0, 0, 0); float3 Envi2 = float3(0, 0, 0); [flatten] if (environment != 0.0f) { float3 ViewDir = normalize(input.wPosition - ViewPos.xyz); float3 reflection = reflect(ViewDir, Normal); float3 normal = TextureN.Sample(SamplerN, Uv).rgb; normal = normal * 2...