가능한 경우 어떻게 셰이더에 사용자 지정 버텍스 속성을 보내고 액세스 할 수 있습니까? 모델은 VBO로 렌더링됩니다.꼭지점 속성을 GLSL 셰이더에 전달하는 방법
에 액세스하려면struct myVertStruct{
double x, y, z; // for spacial coords
double nx, ny, nz; // for normals
double u, v; // for texture coords
double a, b; // just a couple of custom properties
, 말, 법선은, 하나는 쉐이더에서 호출 할 수 있습니다 :
varying vec3 normal;
이이 사용자 지정 속성에 대해 수행 될 방법 예를 들어, 다음과 같이 내가 정점 구조를 갖고 있다고 ? 이 그냥 구조체의 멤버는 다음 떠 변경, 어떤 GPU.So에 대해 단지가 지원되지 않기 때문에
1 단계 : * double * 사용을 중지하십시오. 2 단계 : 당신이 다른 속성들에 대해했던 것과 같은 방식으로합니다. '정상'은 특별하지 않습니다. 또한, 'varying vec3 normal'은 속성이 아닌 정점 셰이더 * 출력 *입니다. 그래서 당신의 질문은 매우 혼란 스럽습니다. –
어떤 OpenGL 버전을 사용하고 있습니까? 이 코드는 OpenGL 2와 OpenGL 3+에서 약간 다릅니다. 또한 @NicolBolas가 이미 언급했듯이, 'varying'는 버텍스 쉐이더 입력에 대한 옵션이 아닙니다. –