2011-09-27 3 views
2

나는 움직일 수있는 메시를 갖고 싶습니다. 키 프레임을 포함하여 파일에서 메쉬를로드하고 있습니다. 모든 프레임을 VBO에 넣고 버텍스 쉐이더의 GPU에 두 프레임을 구성하고 싶습니다. 그래서 나는 GPU와이 유니폼에서 하나의 결과 프레임을 생성 할 수있는 유니폼을 프레임에 전달하려고합니다.morphing에 VBO를 사용하는 방법은 무엇입니까?

가능합니까? 그렇다면 어떻게 할 수 있습니까?

답변

3

더 많은 꼭지점 속성이 있습니다. 일반적으로, 당신은 할 수 있습니다 모프 타겟으로

in vec3 position; 
in vec3 normal; 
in vec4 color; 
in vec2 texCoord; 

, 당신이 필요로하는 것 :

in vec3 position0; 
in vec3 position1; 
in vec3 normal0; 
in vec3 normal1; 
in vec4 color; 
in vec2 texCoord; 

실제 모델 공간 위치가 position0position1 사이에 선형 보간 될 것입니다. 같은 (일반)에 대한 간다. 일단 당신이 그들을 얻으면, 당신은 평범한 변환을 통해 그들을 통과시킵니다. 색상 및 질감 좌표는 아마도 변경되지 않지만, 그렇다면 01 버전이 필요합니다.

실제 렌더링은 매우 간단합니다. 아마도 같은 버퍼에있는 모프 타겟의 모든 위치를 차지할 것입니다. 따라서 첫 번째 모프 타겟에 position0의 속성을 바인딩하고 두 번째 모프 타겟에 position1의 속성을 바인딩하는 문제입니다. 법선에 대해서도 마찬가지입니다. 그런 다음 정상적으로 렌더링됩니다.