저는 BROTHALER, Kevin의 "OpenGL ES 2 for Android"서적으로 Android 용 OpenGL ES 2.0을 배우고 있습니다. 일부 다른 문헌에서 나는 OpenGL을 배울 수 있지만 내 방식에 대해서는 의심의 여지가 있습니다.OpenGL ES 2.0 안드로이드 어플리케이션 - 개념적 질문
첫 번째 질문
내가 OpenGL을 1.0 학습 때 위로이 기능 "GLU.glLookAT은"카메라의 뷰를 설정할 수 있었다. OpenGL 2.0과 비슷한 기능이 있습니까? 는 내가 "w"구성 요소, ortographic와 관점 프로젝션 알고 있어요,하지만 난 2.0 아무것도 같은이 있다면 궁금 해서요 내 학습에 "GLU.glLookAt" 그렇게 도움이되었다고합니다.
두 번째 질문 다양한 색상으로 처리 할 때, 나는 (요약) 아래의 코드를 가지고
:vertexShaderCode = "attribute vec4 a_Position; " +
"attribute vec4 a_Color; " +
"varying vec4 v_Color; " +
"void main(){ " +
" v_Color = a_Color; " +
" gl_Position = a_Position;" +
"}"
fragmentShaderCode = "precision mediump float; " +
"varying vec4 v_Color; " +
"void main(){ " +
" gl_FragColor = v_Color;" +
"}"
... (some code) ...
int a_Position = GLES20.glGetAttribLocation(myShaderProgram, "a_Position");
int a_Color = GLES20.glGetAttribLocation(myShaderProgram, "a_Color");
GLES20.glEnableVertexAttribArray(a_Position);
GLES20.glEnableVertexAttribArray(a_Color);
GLES20.glVertexAttribPointer(a_Position, etc)
GLES20.glVertexAttribPointer(a_Color, etc)
GLES20.glDrawArrays(GL_TRIANGLES, 0, 3);
내가 만들려고 요점은이를 말하고 있다는 것입니다 속성 "a_Position"과 "a_color"는 어디서 어떻게 정보를 얻지 만, "v_Color"는 어떨까요?
다양한 "v_Color"가 거기에 생성되었으므로 조각 쉐이더가 정점 쉐이더로부터 정보를 받고 있다는 것을이 코드에서 알 수 있었지만 쉐이더간에 크로스 토크가 없다고 생각했습니다. 무대 뒤에서 무슨 일이 벌어지고 있니?
그리고 "a_Color"는 "중간"속성으로 존재합니다. ES2에서
GLES20.glVertexVaryinLocation(...)