OpenGL - 고정 파이프라인 저장 셰이더 요약

9878 단어 OpenGL
OpenGL - 고정 파이프라인 저장 셰이더 요약
OpenGL 3.1 이전에는 고정 파이프라인 착색기 하나만 있었는데 3.1 이후에 활성화되어 프로그래밍 가능한 파이프라인 대신 사용되었다. 그러나 고정 파이프라인 착색기를 이해하고 렌더링 절차를 익히면 우리의 도형 이미지 개발에 큰 도움이 된다.또한 고정 파이프라인은 캡슐화되어 있으므로 렌더링에서 교점 착색기인지 조각 착색기인지 고려할 필요가 없습니다.착색기 종류를 저장하는 데 필요한 매개 변수만 전달하면 된다.물론 OpenGL 문법은 착색기를 저장하는 호출 방법에 대해 가변 파라미터를 사용했고 서로 다른 유형의 착색기는 대응하는 파라미터의 개수가 다르다.
다음은 몇 가지 흔히 볼 수 있는 고정관선 착색기의 관련 매개 변수와 사용을 총괄한다.
  • 착색기 함수를 저장합니다. 이 함수는 가변 매개 변수 함수입니다.
  • GLint UseStockShader(GLT_STOCK_SHADER nShaderID, ...);
    
  • 첫 번째 매개변수 GLTSTOCK_SHADER는 착색기 매거류로 다음과 같이 정의된다
  • enum GLT_STOCK_SHADER { 
        GLT_SHADER_IDENTITY = 0, 
        GLT_SHADER_FLAT,
        GLT_SHADER_SHADED, 
        GLT_SHADER_DEFAULT_LIGHT, 
        GLT_SHADER_POINT_LIGHT_DIFF,
        GLT_SHADER_TEXTURE_REPLACE,
        GLT_SHADER_TEXTURE_MODULATE,
        GLT_SHADER_TEXTURE_POINT_LIGHT_DIFF,
        GLT_SHADER_TEXTURE_RECT_REPLACE,                                
        GLT_SHADER_LAST
    };
    
  • 색상 매개 변수:
  • GLfloat vColor[] = {1.0,0.0,0.0,1.0f};
    

    1. 단위 착색기/단위 착색기: GLTSHADER_IDENTITY
    기본 데카르트 좌표계는 (-1.0, 1.0) 범위의 좌표계를 사용하여 모든 세그먼트에 동일한 색상을 적용합니다.셰이더 저장 속성을 설정해야 합니다: GLTATTRIBUTE_VERTEX(교점 컴포넌트).사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_IDENTITY,GLfloat vColor[4]);
    

      매개 변수 1: 착색기 유형   매개 변수 2: 색상 매개 변수
    2. 플랫 셰이더: GLTSHADER_FLAT
    도면을 그릴 때 변환(모델/투영 변경)을 적용할 수 있습니다.형상 변경에 대해 모형 뷰 투영 매트릭스라고 불리는 4*4 변환 매트릭스를 지정할 수 있습니다.사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_FLAT,GLfloat mvp[16],GLfloat vColor[4]);
    

      매개 변수 1: 착색기 유형   매개 변수 2:4*4 변환 매트릭스   매개 변수 3: 색상 매개 변수
    3. 착색기: GLTSHADER_SHADED
    도면을 그릴 때 이 착색기를 적용하여 교점 사이에 부드럽게 삽입하여 음영처리를 부드럽게 할 수 있습니다.셰이더를 저장하는 GLT 설정 필요ATTRIBUTE_VERTEX(교점 컴포넌트) 및 GLTATTRIBUTE_COLOR(색상 컴포넌트) 속성 2개사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_SHADED,GLfloat vColor[4]);
    

      매개 변수 1: 착색기 유형   매개 변수 2: 색상 매개 변수
    4. 기본 라이트 셰이더: GLTSHADER_DEFAULT_LIGHT
      는 도면을 그릴 때 이 착색기를 적용하여 그림자와 조명 효과를 낼 수 있습니다.셰이더를 저장하는 GLT 설정 필요ATTRIBUTE_VERTEX(교점 컴포넌트) 및 GLTATTRIBUTE_NORMAL(표면 법선).사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_DEFAULT_LIGHT,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vColor[4]);
    

      매개 변수 1: 셰이더 유형   매개 변수 2: 모델 뷰 매트릭스   매개 변수 3: 투영 매트릭스   매개 변수 4: 색상 매개 변수
    5. 포인트 라이트 셰이더: GLTSHADER_POINT_LIGHT_DIFF
      는 도면을 그릴 때 이 착색기를 적용하여 그림자와 조명 효과를 낼 수 있습니다.포인트 라이트 셰이더와 달리 라이트 위치를 지정할 수 있는 기본 라이트 셰이더와 유사합니다.셰이더를 저장하는 GLT 설정 필요ATTRIBUTE_VERTEX(교점 컴포넌트) 및 GLTATTRIBUTE_NORMAL(표면 법선).사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_DEFAULT_LIGHT,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vColor[4]);
    

      매개 변수 1: 셰이더 유형   매개 변수 2: 모델 뷰 매트릭스   매개 변수 3: 투영 매트릭스   매개 변수 4: 시점 좌표 광원 위치   매개 변수 5: 색상 매개 변수
    6. 텍스쳐 대체 매트릭스 셰이더: GLTSHADER_TEXTURE_REPLACE
      는 도면을 그릴 때 이 착색기를 적용하여 지정한 모델 보기 투영 행렬을 통해 무늬 단원을 사용하여 채울 수 있으며 각 픽셀 점의 색깔은 무늬에서 얻을 수 있다.셰이더를 저장하는 GLT 설정 필요ATTRIBUTE_VERTEX(교점 컴포넌트) 및 GLTATTRIBUTE_NORMAL(표면 법선).사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_TEXTURE_REPLACE,GLfloat mvMatrix[16],GLint nTextureUnit);
    

      매개 변수 1: 착색기 유형   매개 변수 2: 모델 보기 매트릭스   매개 변수 3: 무늬 단원
    7. 텍스쳐 셰이더: GLTSHADER_TEXTURE_MODULATE
       도면을 그릴 때 이 착색기를 적용하여 주어진 모델 보기 투영 행렬을 통해 하나의 기본 색을 무늬 단원 nTextureUnit에서 얻은 무늬에 곱하여 색과 무늬를 혼합한 후 부분에 채울 수 있다.셰이더를 저장하는 GLT 설정 필요ATTRIBUTE_VERTEX(교점 컴포넌트) 및 GLTATTRIBUTE_TEXTURE0(텍스쳐 좌표).사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_TEXTURE_MODULATE,GLfloat mvMatrix[16],GLfloat vColor[4],GLint nTextureUnit);
    

      매개 변수 1: 셰이더 유형   매개 변수 2: 모델 뷰 매트릭스   매개 변수 3: 색상 매개 변수   매개 변수 4: 텍스쳐 셀
    8. 텍스쳐 라이트 셰이더: GLTSHADER_TEXTURE_POINT_LIGHT_DIFF
      는 도면을 그릴 때 이 착색기를 응용하여 주어진 모델 보기 투영 행렬을 통해 무늬를 만반사 조명 계산을 통해 조정(상승)할 수 있다.셰이더를 저장하는 GLT 설정 필요ATTRIBUTE_VERTEX(교점 컴포넌트) 및 GLTATTRIBUTE_TEXTURE0(텍스쳐 좌표), GLTATTRIBUTE_NORMAL(표면 법선).사용 방법:
    shaderManager.UserStockShader(GLT_SHADER_TEXTURE_POINT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vBaseColor[4],GLint nTextureUnit);
    

      매개 변수 1: 착색기 유형   매개 변수 2: 모델 뷰 매트릭스   매개 변수 3: 비주얼 공간에서의 광원 위치   매개 변수 4: 형상의 기본 색   매개 변수 5: 처리해야 할 무늬 단위

    좋은 웹페이지 즐겨찾기