glgentextures 예제

다음 줄은 glTexParameter*()를 사용하여 배율 및 축소 필터링 방법을 지정하는 방법의 예입니다. 렌더링되고 있습니다. 텍스처 맵의 값을 사용하여 텍스처링 없이 서피스가 렌더링될 색상을 조정하거나 텍스처 맵의 색상을 표면의 원래 색상과 혼합할 수도 있습니다. glTexEnv*()에 적절한 인수를 제공하여 네 가지 텍스처 링 함수 중 하나를 선택합니다. 변조의 경우 텍스처 맵의 내용에 따라 조각의 색상이 변조됩니다. 기본 내부 형식이 GL_LUMINANCE, GL_LUMINANCE_ALPHA 또는 GL_INTENSITY인 경우 색상 값에 동일한 값이 곱되므로 텍스처 맵은 조각의 색상(휘도 또는 강도가 1인 경우)에서 검은색으로 변조됩니다(0인 경우). GL_RGB 및 GL_RGBA 내부 형식의 경우 들어오는 각 색상 구성 요소에 텍스처에 해당하는(다른) 값을 곱합니다. 알파 값이 있으면 조각의 알파를 곱합니다. 조명 폴리곤 색상을 사용하여 텍스처 색상을 감쇠할 수 있기 때문에 변조는 조명과 함께 사용하기에 좋은 텍스처 기능입니다. 색상 플레이트의 대부분의 텍스처 매핑 예제는 이러한 이유로 변조를 사용합니다. 흰색의 스페큘러 폴리곤은 종종 조명, 텍스처 오브젝트를 렌더링하는 데 사용되며 텍스처 이미지는 분산 색상을 제공합니다. 이러한 모든 예제에서 단일 텍스처 좌표는 등고선을 생성하는 데 사용됩니다.

그러나 s 및 t 텍스처 좌표는 독립적으로 생성되어 두 개의 다른 평면까지의 거리를 나타낼 수 있습니다. 제대로 구성된 2차원 텍스처 맵을 사용하면 결과두 개의 등고선을 동시에 볼 수 있습니다. 복잡성을 더하려면 GL_OBJECT_LINEAR를 사용하여 s 좌표를 계산하고 GL_EYE_LINEAR를 사용하여 t 좌표를 계산할 수 있습니다. OpenGL을 구현해도 우선 순위가 같은 텍스처 오브젝트에 LRU 전략을 사용하지 않는 경우(또는 텍스처 오브젝트가 어떻게 결정되는지 모르는 경우) 텍스처 오브젝트 우선 순위를 신중하게 유지하여 고유한 LRU 전략을 구현할 수 있습니다. 텍스처를 사용(바운드)하면 최근 사용을 반영하는 우선 순위를 최대화할 수 있습니다. 그런 다음 정기적인(시간) 간격으로 모든 텍스처 오브젝트의 우선 순위를 저하시킬 수 있습니다. 성능이 뛰어나면 GPU에서 직접 지원하는 형식을 사용합니다. 기본적으로 GPU에 대한 memcpy에 드라이버를 발생시키는 형식을 사용합니다. 대부분의 그래픽 카드는 GL_BGRA를 지원합니다. 예: OpenGL 구현에서 허용하는 것보다 더 큰 텍스처 맵을 적용해야 하는 경우 약간의 주의를 기울여 여러 다른 텍스처로 바둑판식 배열을 통해 더 큰 텍스처를 효과적으로 만들 수 있습니다.