2012-11-10 9 views
0

이 질문은 실제로 스키닝에 관한 것입니다. 버텍스 그룹 (뼈)이있는 모델을 플로트 버퍼로 사용하여 셰이더에 전달한다고 가정 해 보겠습니다. 버텍스 그룹을 부분적으로 회전시키는 방법이 있습니까? 버퍼는 x, y, z, u, v, n1, n2, n3, boneid, rotfactor입니다. (rotfactor는이 정점에 적용 할 회전의 양을 나타내는 float입니다.) 따라서 각도가 45 인 회전 행렬을 사용하여 그룹을 회전하는 경우 45 * rotfactor의 각 꼭지점을 회전시킬 수있는 방법이 있습니까? 감사합니다. .OpenGL ES 2.0 셰이더 회전 당 정점

이것은 당신이해야 할 노력하고 정확하게 꽤 좋은 자세히 설명

답변

0

:

http://www.opengl.org/wiki/Skeletal_Animation

참고이 라인 :이 있듯이

uniform mat4 Bone[10]; //Array of bones that you compute (animate) on the CPU and you upload to the shader 

, 당신은 매트릭스를 계산해야합니다을 각 뼈마다. CPU 측의 응용 프로그램 코드에서이 작업을 수행합니다 (예 : 은 셰이더의이 아님). 그런 다음이 행렬을 균일 변수 Bone에 전달합니다.