Ignore:
Timestamp:
Mar 23, 2012, 7:43:56 PM (13 years ago)
Author:
ldelgass
Message:

Use ARB versions of texture_rectangle, texture_float, point_sprite extensions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/nanovis/NvParticleRenderer.cpp

    r2883 r2884  
    7575    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[0]);
    7676
    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,
    8686                 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL);
    8787#endif
    8888    glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
    89                               GL_TEXTURE_RECTANGLE_NV, _psysTex[0], 0);
     89                              GL_TEXTURE_RECTANGLE_ARB, _psysTex[0], 0);
    9090
    9191
    9292    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[1]);
    9393
    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,
    102102                 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL);
    103103#endif
    104104    glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
    105                               GL_TEXTURE_RECTANGLE_NV, _psysTex[1], 0);
     105                              GL_TEXTURE_RECTANGLE_ARB, _psysTex[1], 0);
    106106 
    107107    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
    108108
    109109    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,
    118118                 _psysWidth, _psysHeight, 0, GL_RGBA, GL_FLOAT, NULL);
    119119#endif
     
    198198    //memcpy(data, p, psys_width*psys_height*sizeof(Particle));
    199199
    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);
    209209
    210210    _flip = true;
    211211    _reborn = false;
    212212
    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);
    222222
    223223    TRACE("init particles\n");
     
    226226void NvParticleRenderer::reset()
    227227{
    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);
    237237    _flip = true;
    238238    _reborn = false;
     
    251251    if (_flip) {
    252252        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]);
    255255
    256256        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     
    269269        draw_quad(_psysWidth, _psysHeight, _psysWidth, _psysHeight);
    270270
    271         glDisable(GL_TEXTURE_RECTANGLE_NV);
     271        glDisable(GL_TEXTURE_RECTANGLE_ARB);
    272272    } else {
    273273        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _psysFbo[0]);
    274         glBindTexture(GL_TEXTURE_RECTANGLE_NV, _psysTex[1]);
     274        glBindTexture(GL_TEXTURE_RECTANGLE_ARB, _psysTex[1]);
    275275
    276276        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Note: See TracChangeset for help on using the changeset viewer.