glLightModeliv 함수

glLightModeliv 함수는 조명 모델 매개 변수를 설정합니다.

구문

void WINAPI glLightModeliv(
         GLenum pname,
   const GLint  *params
);

매개 변수

pname

조명 모델 매개 변수입니다. 다음 값이 허용됩니다.

의미
GL_LIGHT_MODEL_AMBIENT
params 매개 변수에는 전체 장면의 앰비언트 RGBA 강도를 지정하는 4개의 정수 값이 포함되어 있습니다. 가장 양수 표시 가능한 값이 1.0에 매핑되고 가장 음의 표현 가능한 값이 -1.0에 매핑되도록 정수 값이 선형으로 매핑됩니다. 부동 소수점 값은 직접 매핑됩니다. 정수나 부동 소수점 값은 모두 고정되지 않습니다. 기본 주변 장면 강도는 (0.2, 0.2, 0.2, 1.0)입니다.
GL_LIGHT_MODEL_LOCAL_VIEWER
params 매개 변수는 반사 반사 각도를 계산하는 방법을 지정하는 단일 정수 값입니다. 매개 변수가 0(또는 0.0)인 경우 반사 반사 각도는 눈 좌표에서 꼭짓점의 위치에 관계없이 뷰 방향을 -z 축의 방향과 병렬로 사용합니다. 그렇지 않으면 반사 반사는 눈 좌표계의 원점에서 계산됩니다. 기본값은 0입니다.
GL_LIGHT_MODEL_TWO_SIDE
params 매개 변수는 다각형에 대해 일방적 또는 양면 조명 계산이 수행되는지 여부를 지정하는 단일 정수 값입니다. 점, 선 또는 비트맵의 조명 계산에는 영향을 주지 않습니다. 매개 변수가 0(또는 0.0)이면 단면 조명이 지정되고 전면 재질 매개 변수만 조명 수식에 사용됩니다. 그렇지 않으면 양면 조명이 지정됩니다.
이 경우 후면 다각형의 꼭짓점은 후면 재질 매개 변수를 사용하여 밝아지고 조명 수식을 평가하기 전에 해당 정규가 반전됩니다. 앞면 다각형의 꼭짓점은 항상 앞면 재질 매개 변수를 사용하여 조명되며, 표준은 변경되지 않습니다. 기본값은 0입니다.

params

매개 변수를 설정할 값 또는 값에 대한 포인터입니다.

반환 값

이 함수는 값을 반환하지 않습니다.

오류 코드

glGetError 함수에서 다음 오류 코드를 검색할 수 있습니다.

Name 의미
GL_INVALID_ENUM
pname 이 허용되는 값이 아닙니다.
GL_INVALID_OPERATION
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다.

설명

glLightModeliv 함수는 조명 모델 매개 변수를 설정합니다. pname 매개 변수는 매개 변수의 이름을 지정하고 매개 변수는 새 값을 제공합니다. 개별 광원 매개 변수의 값 또는 값입니다.

RGBA 모드에서 꼭짓점의 조명 색은 재료 방출 강도의 합계, 재료 주변 반사 및 조명 모델의 전체 장면 주변 강도의 산물 및 활성화된 각 광원의 기여도입니다. 각 광원은 앰비언트, 확산 및 반사라는 세 가지 용어의 합계를 제공합니다.

  • 주변 광원 기여는 재료 주변 반사와 광원의 주변 강도의 산물입니다.
  • 확산 광원 기여도는 꼭짓점에서 광원으로 정규화된 벡터와 함께 재료 확산 반사, 광원의 확산 강도 및 꼭짓점의 법선 점 곱의 산물입니다.
  • 반사 광원 기여도는 재질 반사 반사, 광원의 반사 강도 및 정규화된 꼭짓점-투-눈 및 꼭짓점-조명 벡터의 점 곱의 산물로, 재료의 광택의 힘을 높입니다.

세 가지 광원 기여 모두 꼭짓점에서 광원까지의 거리와 광원 방향, 지수 확산 및 분산 컷오프 각도에 따라 동일하게 감쇠됩니다. 음수 값으로 평가되면 모든 점 제품이 0으로 바뀝니다.

결과 조명 색의 알파 구성 요소는 재질 확산 반사의 알파 값으로 설정됩니다.

색 인덱스 모드에서 꼭짓점의 밝은 인덱스 값은 앰비언트부터 GL_COLOR_INDEXES 사용하여 glMaterial 에 전달된 반사 값까지 다양합니다. 광원 색의 (.30, .59, .11) 가중치, 재질의 반짝임 및 RGBA 사례와 동일한 반사 및 감쇠 방정식으로 계산된 확산 및 반사 계수는 결과 인덱스의 앰비언트보다 얼마나 높은지 결정합니다.

다음 함수는 glLightModeliv 함수와 관련된 정보를 검색합니다.

인수가 GL_LIGHT_MODEL_LOCAL_VIEWER glGet

인수가 GL_LIGHT_MODEL_TWO_SIDE glGet

인수 GL_LIGHTING glIsEnabled

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Gl.h
라이브러리
Opengl32.lib
DLL
Opengl32.dll

추가 정보

glBegin

glEnd

glLight

glMaterial