티스토리 뷰
봐두기만 한건 결국 머리에 안남는다.
결국 다시 보고 추가하는 중
Hierography는 Resource로 추상화 시켜서 리소스를 다루는 건 괜찮은 거 같다
int 를 들고 hi/low 부분으로 막 결합해서 리소스를 가르키고,
ParameterWriter라는 것을 둬서 이 index를 가지고, 해당 계층 구조에서
실제 쓰일 때 변경 되었다면 update 하게 된다
pEntity->Parameters.SetVectorParameter( L"gFresnelR0", { 0.001f, 0.001f, 0.001f, 0.f } );
m_pRenderer11->m_pParamMgr->SetWorldMatrixParameter(&m_WorldMatrix);
m_pScene->Parameters.SetVectorParameter( L"gEyePosW", cameraPos );
문제는 index로 참조하는데 안전 장치가 없다는 것, SetStructArrayParameter 와 같이 빠진거 구현했는데 index를 다른 class 의 개체를 구하니 잘못된 Resource가 setting 된다.
Resource 로 추상화하였기에 다른 Resource 가 정상적으로 setting 되니 디버깅에 고생함
다른 건 Writer로 분리해뒀기에 코드를 꽤 짜야한다. 어짜피 한번만 짜니까 상관없나?
그 다음 특이한 건,
m_pMaterial = MaterialPtr(new MaterialDX11());
m_pMaterial->Params[VT_PERSPECTIVE].bRender = true;
m_pMaterial->Params[VT_PERSPECTIVE].pEffect = pEffect;
Material 에 shader가 달리고 Params에 enum으로 특정 유형이 정해져 있다.
2 Pass 등은 별도의 SceneRenderTask 를 상속받아서 호출 chain 을 만드는 것 같다.
'Game > DirectX 11' 카테고리의 다른 글
SSAO (1) (1) | 2017.05.05 |
---|---|
Renderer (2) - Constant Buffer (0) | 2017.04.23 |
ACC (1) (0) | 2017.04.21 |
PN-Triangle (4) (0) | 2017.04.21 |
PN-Triangle (3) (0) | 2017.04.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크