powerpad
07-07-2005, 12:17 AM
I render a scene to my viewport and create a rectangular texture. I want to render the viewport to that rectangular texture which works just fine if i define the texture's format to be rgba, however, if the format is rgba32f_ so a 32bit floating point texture the rendering speed drops amazingly.
can someone tell me please what i did wrong or how to do it better (with respect to glCopyTexImage)
here is some code
//set up texture
Gl.glGenTextures(1, out this.iTexture);
Gl.glBindTexture(Gl.GL_TEXTURE_RECTANGLE_ARB, this.iTexture);
Gl.glTexEnvi(Gl.GL_TEXTURE_ENV, Gl.GL_TEXTURE_ENV_MODE, Gl.GL_MODULATE);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_WRAP_S, Gl.GL_CLAMP_TO_EDGE);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_WRAP_T, Gl.GL_CLAMP_TO_EDGE);
Gl.glEnable(Gl.GL_TEXTURE_RECTANGLE_ARB);
//rendering stuff Gl.glBindTexture(Gl.GL_TEXTURE_RECTANGLE_ARB, this.iTexture);
//render scene Gl.glCopyTexImage2D(Gl.GL_TEXTURE_RECTANGLE_ARB, 0, Gl.GL_RGB32F_ARB, 0, 0, 640, 480, 0);
can someone tell me please what i did wrong or how to do it better (with respect to glCopyTexImage)
here is some code
//set up texture
Gl.glGenTextures(1, out this.iTexture);
Gl.glBindTexture(Gl.GL_TEXTURE_RECTANGLE_ARB, this.iTexture);
Gl.glTexEnvi(Gl.GL_TEXTURE_ENV, Gl.GL_TEXTURE_ENV_MODE, Gl.GL_MODULATE);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_WRAP_S, Gl.GL_CLAMP_TO_EDGE);
Gl.glTexParameteri(Gl.GL_TEXTURE_RECTANGLE_ARB, Gl.GL_TEXTURE_WRAP_T, Gl.GL_CLAMP_TO_EDGE);
Gl.glEnable(Gl.GL_TEXTURE_RECTANGLE_ARB);
//rendering stuff Gl.glBindTexture(Gl.GL_TEXTURE_RECTANGLE_ARB, this.iTexture);
//render scene Gl.glCopyTexImage2D(Gl.GL_TEXTURE_RECTANGLE_ARB, 0, Gl.GL_RGB32F_ARB, 0, 0, 640, 480, 0);