def setup_texture(volume): ## Set multitexturing number ## #gl.gl.glActiveTextureARB(texture0_arb+volume) ## Setup texturing parameters ## gl.glTexParameterf(gl.GL_TEXTURE_3D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) gl.glTexParameterf(gl.GL_TEXTURE_3D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR) gl.glTexParameteri(gl.GL_TEXTURE_3D, gl.GL_TEXTURE_WRAP_S, gl.GL_CLAMP) gl.glTexParameteri(gl.GL_TEXTURE_3D, gl.GL_TEXTURE_WRAP_T, gl.GL_CLAMP) gl.glTexParameteri(gl.GL_TEXTURE_3D, gl.GL_TEXTURE_WRAP_R, gl.GL_CLAMP) ## Setup texture coordinate generation parameters ## gl.glEnable(gl.GL_TEXTURE_GEN_S) gl.glEnable(gl.GL_TEXTURE_GEN_T) gl.glEnable(gl.GL_TEXTURE_GEN_R) ## Texture coordinates will be generated in eye-centered coordinates ## gl.glTexGeni(gl.GL_S, gl.GL_TEXTURE_GEN_MODE, gl.GL_EYE_LINEAR) gl.glTexGeni(gl.GL_T, gl.GL_TEXTURE_GEN_MODE, gl.GL_EYE_LINEAR) gl.glTexGeni(gl.GL_R, gl.GL_TEXTURE_GEN_MODE, gl.GL_EYE_LINEAR) ## Object coordinates will be translated 1:1 to texture coordinates ## gl.glTexGenfv(gl.GL_S, gl.GL_EYE_PLANE, [1,0,0,0]) gl.glTexGenfv(gl.GL_T, gl.GL_EYE_PLANE, [0,1,0,0]) gl.glTexGenfv(gl.GL_R, gl.GL_EYE_PLANE, [0,0,1,0])