...저급 AGAL에서 코딩하는 동안 텍스처 당 새로운 Program3D를 만들어야합니까?
내가 (기본적으로 고유 한 스프라이트,) 거기에 하나 개 이상의 질감을 필요로하는 응용 프로그램을 개발하고 있어요 경우, 나는 VertexShaderAssembler
와 함께 새로운 Program3D
(을 context3D.createProgram();
를 호출하고 조립해야하나요 a FragmentShaderAssembler
)을 사용하고 싶습니다.
Program3D
은 일반적으로 엔진 내에서 어떻게 작동합니까? 합니까 전체를 실행하거나 하나 개의 프로그램을 사용합니까텍스처, 모델, 이 매핑 당 하나 개 프로그램?
초기화 시간 (Event.ADDED_TO_STAGE
) 동안 Program3D
을 한 번만 만들고 각 프레임 (Event.ENTER_FRAME
)을 만들 때만 필요하다고 가정합니다. 맞습니까?
Ah k, Context3D.setProgram (...)을 호출하는 순서는 원하는 Z-Depth 결과를 얻는 데 중요 할 수 있습니다. 맞습니까? – bigp
그래서, 내가 상상할 수있는 Program3D를 번갈아 사용할 때 Context3D를 지울 필요가 없다는 것을 의미합니다. 특히 하나의 렌더링 패스가 다른 이전 패스를 오버레이하는 것일 때 특히 그렇습니다. – bigp
깊이 테스트를 작동 시키려면 올바른 순서로 물건을 그려야합니다. 그것은 setProgram()을 호출하는 순서를 결정할 수도 있습니다. present() 호출 당 한 번만 지워야합니다. –