Changeset 2884 for trunk/packages/vizservers/nanovis/NvParticleRenderer.cpp
- Timestamp:
- Mar 23, 2012, 7:43:56 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/NvParticleRenderer.cpp
r2883 r2884 75 75 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[0]); 76 76 77 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _psysTex[0]);78 glTexParameterf(GL_TEXTURE_RECTANGLE_ NV, GL_TEXTURE_MIN_FILTER, GL_NEAREST);79 glTexParameterf(GL_TEXTURE_RECTANGLE_ NV, GL_TEXTURE_MAG_FILTER, GL_NEAREST);80 81 #ifdef HAVE_FLOAT_TEXTURES 82 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA32F_ARB,83 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 84 #else 85 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA,77 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[0]); 78 glTexParameterf(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 79 glTexParameterf(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 80 81 #ifdef HAVE_FLOAT_TEXTURES 82 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 83 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 84 #else 85 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 86 86 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 87 87 #endif 88 88 glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, 89 GL_TEXTURE_RECTANGLE_ NV, _psysTex[0], 0);89 GL_TEXTURE_RECTANGLE_ARB, _psysTex[0], 0); 90 90 91 91 92 92 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[1]); 93 93 94 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _psysTex[1]);95 glTexParameterf(GL_TEXTURE_RECTANGLE_ NV, GL_TEXTURE_MIN_FILTER, GL_NEAREST);96 glTexParameterf(GL_TEXTURE_RECTANGLE_ NV, GL_TEXTURE_MAG_FILTER, GL_NEAREST);97 #ifdef HAVE_FLOAT_TEXTURES 98 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA32F_ARB,99 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 100 #else 101 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA,94 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[1]); 95 glTexParameterf(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 96 glTexParameterf(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 97 #ifdef HAVE_FLOAT_TEXTURES 98 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 99 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 100 #else 101 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 102 102 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 103 103 #endif 104 104 glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, 105 GL_TEXTURE_RECTANGLE_ NV, _psysTex[1], 0);105 GL_TEXTURE_RECTANGLE_ARB, _psysTex[1], 0); 106 106 107 107 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); 108 108 109 109 glGenTextures(1, &_initPosTex); 110 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _initPosTex);111 glTexParameterf(GL_TEXTURE_RECTANGLE_ NV, GL_TEXTURE_MIN_FILTER, GL_NEAREST);112 glTexParameterf(GL_TEXTURE_RECTANGLE_ NV, GL_TEXTURE_MAG_FILTER, GL_NEAREST);113 #ifdef HAVE_FLOAT_TEXTURES 114 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA32F_ARB,115 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 116 #else 117 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA,110 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _initPosTex); 111 glTexParameterf(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 112 glTexParameterf(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 113 #ifdef HAVE_FLOAT_TEXTURES 114 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 115 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 116 #else 117 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 118 118 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL); 119 119 #endif … … 198 198 //memcpy(data, p, psys_width*psys_height*sizeof(Particle)); 199 199 200 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _psysTex[0]);201 #ifdef HAVE_FLOAT_TEXTURES 202 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA32F_ARB,203 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 204 #else 205 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA,206 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 207 #endif 208 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, 0);200 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[0]); 201 #ifdef HAVE_FLOAT_TEXTURES 202 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 203 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 204 #else 205 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 206 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 207 #endif 208 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); 209 209 210 210 _flip = true; 211 211 _reborn = false; 212 212 213 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _initPosTex);214 #ifdef HAVE_FLOAT_TEXTURES 215 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA32F_ARB,216 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 217 #else 218 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA,219 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 220 #endif 221 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, 0);213 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _initPosTex); 214 #ifdef HAVE_FLOAT_TEXTURES 215 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 216 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 217 #else 218 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 219 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 220 #endif 221 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); 222 222 223 223 TRACE("init particles\n"); … … 226 226 void NvParticleRenderer::reset() 227 227 { 228 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _psysTex[0]);229 #ifdef HAVE_FLOAT_TEXTURES 230 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA32F_ARB,231 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 232 #else 233 glTexImage2D(GL_TEXTURE_RECTANGLE_ NV, 0, GL_RGBA,234 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 235 #endif 236 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, 0);228 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[0]); 229 #ifdef HAVE_FLOAT_TEXTURES 230 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA32F_ARB, 231 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 232 #else 233 glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA, 234 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, (float*)_data); 235 #endif 236 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, 0); 237 237 _flip = true; 238 238 _reborn = false; … … 251 251 if (_flip) { 252 252 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[1]); 253 glEnable(GL_TEXTURE_RECTANGLE_ NV);254 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _psysTex[0]);253 glEnable(GL_TEXTURE_RECTANGLE_ARB); 254 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[0]); 255 255 256 256 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); … … 269 269 draw_quad(_psysWidth, _psysHeight, _psysWidth, _psysHeight); 270 270 271 glDisable(GL_TEXTURE_RECTANGLE_ NV);271 glDisable(GL_TEXTURE_RECTANGLE_ARB); 272 272 } else { 273 273 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[0]); 274 glBindTexture(GL_TEXTURE_RECTANGLE_ NV, _psysTex[1]);274 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[1]); 275 275 276 276 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Note: See TracChangeset
for help on using the changeset viewer.