opengl 광원 예제

조명이 활성화되어 있는 경우, 이 조명 모델은 크리스토프 슐릭, 일상적인 렌더링을위한 사용자 정의 반사 모델, 렌더링에 네 번째 유로 그래픽 워크샵, 1993에 의해 만들어진 호출과 동일한 효과를 갖는다. 원뿔 의 가장자리 너머에 라이트가 방출되지 않습니다. GL_SPOT_CUTOFF 매개변수가 180.0이기 때문에 기본적으로 스포트라이트 피쳐는 비활성화됩니다. 이 값은 라이트가 모든 방향으로 방출된다는 것을 의미합니다(원뿔정점의 각도는 360도이므로 원뿔이 아님). GL_SPOT_CUTOFF의 값은 [0.0,90.0] 범위 내에 있는 것으로 제한됩니다(특수 값 180.0이 없는 경우). 다음 줄은 컷오프 매개변수를 45도로 설정합니다: glMaterial의 경우 주변 및 확산 색상을 오브젝트의 자연스러운 색상으로 설정하고 Specular 색상을 흰색으로 설정하는 것이 보통입니다. 방출 색상은 일반적으로 자신의 빛에 의해 빛나지 않는 물체의 경우 검은색입니다. OpenGL을 사용하면 장면의 조명과 오브젝트를 조작하여 다양한 종류의 효과를 만들 수 있습니다. 이 장은 숨겨진 표면 제거에 대한 프라이머로 시작합니다.

그런 다음 장면의 조명을 제어하는 방법을 설명하고 OpenGL 개념적 조명 모델에 대해 설명하고 특정 효과를 얻기 위해 수많은 조명 매개변수를 설정하는 방법을 자세히 설명합니다. 이 장의 끝으로 조명이 색상에 미치는 영향을 결정하는 수학적 계산이 표시됩니다. 앞 단락에서 설명한 용어의 정의를 사용하여 다음은 RGBA 모드에서 전체 조명 계산을 나타냅니다: w 값이 0이 아닌 경우 라이트는 위치이고 (x, y, z) 값은 균일한 라이트의 위치를 지정합니다. 오브젝트 좌표입니다. (부록 F.참조) 이 위치는 모델뷰 행렬에 의해 변환되고 눈 좌표에 저장됩니다. 라이트 위치의 변환을 제어하는 방법에 대한 자세한 내용은 «라이트의 위치 및 방향 제어»를 참조하십시오. 또한 기본적으로 위치 라이트는 모든 방향으로 방사되지만 라이트를 스포트라이트로 정의하여 조명 원뿔을 생성하도록 제한할 수 있습니다. 라이트를 스포트라이트로 정의하는 방법에 대한 설명은 «스포트라이트»를 참조하십시오. 예제 5-1은 장면(구)의 유일한 오브젝트의 모든 정점에 대해 동일한 재질 특성을 사용합니다.

다른 상황에서는 동일한 오브젝트의 다른 정점에 대해 서로 다른 재질 특성을 할당할 수 있습니다. 장면에 두 개 이상의 오브젝트가 있고 각 오브젝트의 재질 특성이 다를 수 있습니다. 예를 들어 부록에서 «플레이트 16″을 생성한 코드는 각각 다른 재료 특성을 가진 12개의 다른 오브젝트(모든 구)를 그려야 합니다. 실시예 5-8은 디스플레이()에서 코드의 일부를 나타낸다. light.감쇠 변수는 위의 수식에서 $$k$$$입니다. 반면에 네 번째 숫자인 w가 0이 아닌 경우 라이트는 점 라이트이고 점(x/w, y/w, z/w)에 있습니다.

Next Post:
Previous Post: