>

벡터/프래그먼트 셰이더로 작업하는 방법을 오해하고있는 것 같습니다. 내 벡터 셰이더는 다음과 같습니다.

uniform mat4 uVMatrix;    // view (camera transformations)
uniform mat4 uMMatrix;    // model (object transformations)
uniform mat4 uPMatrix;    // projection
attribute vec4 aVertexPosition;     // passed in
attribute vec4 aVertexColor;
varying vec4 vColor;
void main() {
    gl_Position = uPMatrix * uVMatrix * uMMatrix * aVertexPosition;
    vColor = aVertexColor;    // pass the vertex's color to the fragment shader
}

아주 간단합니다. 지금은 3D 공간에서 변형하고 그리는 간단한 사각형이 있습니다. 다음과 같이 suqare의 중앙에있는 원을 통해보고 싶습니다.

이 정사각형에는 벡터 셰이더에서 변환하는 4 개의 정점이 있습니다. 다음은 조각 쉐이더입니다.

precision mediump float;    // how precise to be with floats
varying vec4 vColor;        // interpolated from the vertices
void main() {
    gl_FragColor = vColor;
}

이제 gl_FragCoord에 액세스 할 수있는 것을 보았지만 그 좌표는 모든 벡터 변환 이후입니다. 모든 투영 변환 등 전에 사각형의 픽셀을 어떻게 조작 할 수 있습니까? 4 개의 벡터 만 있기 때문에 벡터 쉐이더에서 할 수 있다고 생각하지 않습니다 ...


  • 이전 스페이스 바로 인해 Unity가 마지막 OnClick () 이벤트를 발생시키는 이유
  • 다음 directx11 - 절차 적 isosurface 터 레인에 메시의 오브젝트 추가