2012-06-30 3 views
0

내 버텍스 쉐이더에 문제가 있습니다. In에서는 그림과 같이 왜곡 된 이미지가 출력됩니다.Android에서 버그가있는 GLSL 구현 감지

내 갤럭시 S (2.3.6/진저 브레드)에는 비뚤어져 있습니다. 내 어머니 Iconia에서, 그것은 완벽하게 작동합니다. 나는 버그 투성이 구현을 감지 할 수 있어야합니다. 이 이미지를 버퍼에 렌더링하고 이것이 올바르게 렌더링되는지 확인하려고합니다. 나는 탐지하는 가장 좋은 방법이라고 생각하니?

빨강 [x, 녹색 = y 및 파랑 = z가 [-1, 1] 범위에서 [0, 1]로 변환되도록 꼭지점에 색칠했습니다. 이것은 정점이 변형 된 곳을 볼 수 있도록하기 위해서입니다. Vertex Shader Image

다음은 OpenGLES 1.0을 사용하여 렌더링 된 동일한 항목의 이미지입니다. 이 이미지는 첫 번째 이미지처럼 색상을 지정하는 데 더 많은 노력이 필요하므로 텍스처가 적용되었습니다. 보시다시피 외관이 옳습니다. enter image description here

+0

Iconia에는 어떤 버전의 안드로이드가 있습니까? – t0mm13b

+3

전체적인 glsl 구현을 잘못 호출 한 것은 약간 시기상조라고 생각합니다. 큐브가 예상대로 나오지 않기 때문입니다. 'glGetError'를 확인하고 있습니까? 코드는 어떻게 생겼습니까? – Tim

+0

@ t0mm13b : 3.2.1 –

답변

1

음, 여기에 내가 그것을 해결 방법은 다음과 같습니다

current *= animMatrix; 

에 :

current = mmult(current, animMatrix); 
나는 그런 기능

mat4 mmult(mat4 a, mat4 b){ 
    return a*b; 
} 

을 만들어 변경

그리고 효과가있었습니다.

current = current * animMatrix; 

을 그러나 그것은 또한 잘못된 이미지를 반환

도이 시도.

여기에 대해서는 논리적 인 설명이 없지만 수정 사항 인 것으로 보입니다. 왜 감사하겠습니다에 대한 모든 의견.