1
메신저 지금까지이 기능 pyopengl 설정 멀티 텍스처 혼합 모드
def loadTexture(name):
img = PIL.Image.open(name) # .jpg, .bmp, etc. also work
img_data = numpy.array(list(img.getdata()), numpy.int8)
id = glGenTextures(1)
glPixelStorei(GL_UNPACK_ALIGNMENT,1)
glBindTexture(GL_TEXTURE_2D, id)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img.size[0], img.size[1], 0, GL_RGB, GL_UNSIGNED_BYTE, img_data)
return id
를 사용하여로드 miltiple 질감을 가지고있다 그리고이 코드
glBindTexture(GL_TEXTURE_2D, 1)
glEnable(GL_TEXTURE_2D)
에 사용할 텍스처를 설정할 수 있습니다
내 첫 번째 시도는이있다 :
glBindTexture(GL_TEXTURE_2D, 1)
glEnable(GL_TEXTURE_2D)
glBegin(GL_TRIANGLES)
....
glEnd()
glBindTexture(GL_TEXTURE_2D, 3)
glEnable(GL_TEXTURE_2D)
glBegin(GL_TRIANGLES)
....
glEnd()
그래서 내가 두 번 폴리곤을 렌더링과를 선택 이것은 매번 다른 텍스쳐를 사용할 때 glBindTexture (GL_TEXTURE_2D, n)를 호출하면 relivant 텍스쳐가 선택되고 렌더링되지만 블렌딩 자체가 없기 때문에 렌더링에서 마지막으로 선택한 텍스처를 볼 수 있습니다. glEnable (GL_BLEND)을 추가하려고했지만 아무 것도하지 않는 것 같습니다. 내가하고 싶은 무엇
함께 두 개의 패스의 픽셀을 추가하는 것입니다
나는 이것에 대해 어떻게 갈 것인가?
이것은 나를 위해 작동하지 않는 것, 나는 tex1의 균일 한 어둡게하는 것 또는 최신 텍스처가 그려지는 것이 무엇이든간에 나타나는 것입니다. –
이상하게, 텍스처가 변조되어야합니다 (즉, 컴포넌트 현명한 곱셈). 이미지 파일을 업로드 할 수 있습니까? 그들이 제대로로드되었는지 확인 하시겠습니까? (나는 어떤 검사도하지 않는다.) – kloffy
또한, 직접 모드로 렌더링하는 경우, 텍스처를 지정하기 위해'glMultiTexCoord (GL_TEXTURE0, ...)'와'glMultiTexCoord (GL_TEXTURE1, ...)'를 사용해야한다. 각 텍스처 단위의 좌표. – kloffy