<div><br></div> <div>게임프로그램의 구조를 짜고 있는데요</div> <div><br></div> <div>조금 난항을 겪고 있는 문제가 있어 질문드립니다</div> <div><br></div> <div><br></div> <div>존재하는 클래스:</div> <div><br></div> <div>CGame</div> <div> Main()</div> <div> Render()...</div> <div><br></div> <div>CPlayer</div> <div> Draw()..</div> <div><br></div> <div>CCamera</div> <div> GetViewMatrix()</div> <div> GetProjectionMatrix()</div> <div><br></div> <div><br></div> <div>CShader</div> <div> GetVertexShader()</div> <div> GetPixelShader()</div> <div> GetVSTable()</div> <div> GetPSTable()</div> <div><br></div> <div>대충 질문에 들어가는 클래스는 요정도인데요</div> <div><br></div> <div>CGame안에 있는 Main함수에서 Render 함수를 불러서 화면에 여러가지 오브젝트를 렌더링하고 있구요</div> <div>CGame클래스 내부에서 protected로 각종 클래스의 인스턴스를 선언하고 있습니다</div> <div><br></div> <div><br></div> <div>이제 Render함수 내에서 여러가지 인스턴스를 사용해 쉐이더 적용, 렌더링 등등을 하는데요</div> <div><br></div> <div>지금까진 그냥 CGame에서 DrawPlayer함수를 정의해서 그안에서 렌더링을 했는데요(각종 인스턴스가 멤버변수에 다 선언되어 있으므로)</div> <div><br></div> <div>근데 DrawPlayer가 CGame 안에 있는건 좀 이상하다 생각해서 이걸 CPlayer로 옮기려고 하는데요</div> <div><br></div> <div>그러다보니 DrawPlayer에서 사용했던 각종 인스턴스를 어떻게 넘겨주어야 할지 고민입니다</div> <div><br></div> <div>그냥 매개변수로 넘겨버리자니 매개변수가 6개는 넘어가는 상황이 되고..</div> <div><br></div> <div>그렇다고 매개변수로 넘겨주지 않으면 뷰행렬등등 다른 클래스의 멤버변수를 어떻게 넘겨줘야 하나 고민되고..</div> <div><br></div> <div>그냥 정적 클래스를 만들어서 그안에 각종 인스턴스를 선언해서 필요한 인스턴스를 바로 쓰는식으로도 생각을 해보았으나..</div> <div><br></div> <div>저렇게 짜버리면 전지전능한 슈퍼 클래스가 탄생(?) 하는게 아닌가싶어서(이런 클래스를 만들면 안된다고 배웠습니다) 고민됩니다..</div> <div><br></div> <div><span style="font-size:9pt;">렌더링할때 쉐이더에 필요한 정보를 넘겨줘야하는데 이때 다른클래스의 멤버변수(뷰행렬등)가 필요해서..이러지도 저러지도 못하고 있습니다</span></div> <div><span style="font-size:9pt;"><br></span></div> <div>이런경우에 어떻게 짜야하나요? 혹시 이런경우에 유용하게 쓸 수 있는 디자인패턴 같은게 있을까요?</div> <div><br></div> <div>답변해주시면 정말 감사하겠습니다.</div> <div><br></div> <div>VS2017 사용에 DX9입니다.</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.