본문 바로가기

Engine Development

헤어 랜더링 헤어 랜더링을 하면서 가장 중요한것은 탄젠트값을 구하는것이다.. 달의 목소리님 블로그에서 퍼옴 Hair Lighting 모델과 일반 적인 Lighting 모델의 가장 큰 차이 점은 Normal대신에 Tangent를 쓴다는 점입니다.즉, Hair을 Strand ( 머리카락 한 올 )의 집합채로 보고, Vertex 를 그 구성원으로 보았을때, Lighting 계산을 Normal이 아니라머리결을 따라 가는 Tangent를 쓰는 것이죠. 제가 가장 헷갈렸던 부분이 이곳이었습니다. Normal Map을 사용하기 위해서 Tangent Space에 이용할 Tangent값은 Mirror되는 값에 따라 중간 단계가 엄청나게 차이가 납니다. 즉, 여기서 말하는 Hair Tangent라는 것은 Normal map에 사용하는.. 더보기
Radiosity Normal Mapping 이것이 라이트맵 하프라이트에서는 3장쓴다 이것은 노말맵... 일반적인 노말 둘을 합치면 이런식의 결과가 나온다.. 공식은 이거... lightmapColor[0] * dot( bumpBasis[0], normal )+ lightmapColor[1] * dot( bumpBasis[1], normal )+ lightmapColor[2] * dot( bumpBasis[2], normal ) 마법의 코드.... bumpbasis는 위의 공식이다. 적용해본 결과 일단은 약간은 노말이 산다... 그리고 라이트맵으로 약간 뭉개진 화면을 보정해주는거 같음 더 선명하게... 참조 문서 Shading in Valve’s Source Engine Advanced Real-Time Rendering in 3D Graphics.. 더보기
Light Pre Pass 변형 랜더링 정확하게 맞는지는 모르겠지만... 라이트 프리 패스에서.. 메쉬의 colorkey 처리를 하기위해서.. MRT를 썼는데 1 depth (알파에는 칼라키) 2 normal + speclur 3 lightmap 일단 3장 썼는데... 원래대로면 라이트 프리패스면 normal + depth만 뽑지만 inferred 를 연구하다가 뭐... 어짜피 고사양이라면 괜찮겠지 하고... 썼다.. 일단 mrt가 1장 남지만 4장에 머트리얼 패스를 추가해서 1 depth (알파에는 칼라키) 2 normal + speclur 3 lightmap (glow) 4 material ( 메탈, specpower, motion vector) 아니면 1 motion vectors (알파에는 칼라키) 2 normal + depth 3 l.. 더보기
EarlyZ 기억하자 1pass ZEnable = True; ZWriteEnable = True; ZFunc = LessEqual; 2pass ZEnable = True; ZWriteEnable = False; ZFunc = Equal; 1장은 depth로 뽑느다!! 더보기
Deferred Shading, LightPrePass, Inferred Lighting 지연 랜더링에 대해서.... 몇달 동안 고민하던 문제를.... 너무 초보적인 문제일수도 있구 아닌수도 있다. MRT가 모지란 궁금증에서 출발해서... 킬존 2 보면서... 여러가지 생각했다.. 흠.... 답은 가까이 있었지만... 구현이 문제다... 일단 deferred 를 생각했다... 이리저리 자료를 찾아서... 어느정도는 구현을 해봤다... 하지만 알파블랜딩... + 멀티 머트리얼... 문제... 그리고 넘어갔다 lighr pre pass... 오호 이건 dx8에서도 된다구 그러구... 한장에 라이트랑 뎁스랑만 뽑아서 라이트만 미리 계산하구 덮어주는 방식 ㅎㅎ 오... 이거 짱좋다 그랬는데... MRT는 안써서 고사양에서는 별로라구 하니까... 흠.... 모든걸 해결해줄거 같았던 Inferred L.. 더보기
3D 게임 엔진... 나도 만들어 볼까나.. 공부를 위해서... 그리고 실력향상을 위해서.. 3D 엔진 개발을 할까나... 비록 처음에 많이 부족하더라도.. 언젠가는 멋진 랜더링을 위해서.. 일단 쉐이더 공부부터 하구... ^^ 엔진 이름은... 아직.. 미정.. 시작해보자.. 일단.. 구조 및 설계부터.. 더보기