Ignore:
Timestamp:
Mar 16, 2009, 2:05:56 PM (16 years ago)
Author:
vrinside
Message:

adding a function to specify multiple planes to initialize particle positions

File:
1 edited

Legend:

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

    r1331 r1333  
    102102
    103103    _advectionShader = new NvParticleAdvectionShader();
    104 
    105104}
    106105
     
    268267}
    269268
     269void NvParticleRenderer::draw_bounding_box(
     270    float x0, float y0, float z0,
     271    float x1, float y1, float z1,
     272    float r, float g, float b,
     273    float line_width)
     274{
     275    glPushMatrix();
     276    glEnable(GL_DEPTH_TEST);
     277    glDisable(GL_TEXTURE_2D);
     278    glEnable(GL_BLEND);
     279
     280    glColor4d(r, g, b, 1.0);
     281    glLineWidth(line_width);
     282   
     283    glBegin(GL_LINE_LOOP);
     284    {
     285        glVertex3d(x0, y0, z0);
     286        glVertex3d(x1, y0, z0);
     287        glVertex3d(x1, y1, z0);
     288        glVertex3d(x0, y1, z0);
     289    }
     290    glEnd();
     291   
     292    glBegin(GL_LINE_LOOP);
     293    {
     294        glVertex3d(x0, y0, z1);
     295        glVertex3d(x1, y0, z1);
     296        glVertex3d(x1, y1, z1);
     297        glVertex3d(x0, y1, z1);
     298    }
     299    glEnd();
     300   
     301   
     302    glBegin(GL_LINE_LOOP);
     303    {
     304        glVertex3d(x0, y0, z0);
     305        glVertex3d(x0, y0, z1);
     306        glVertex3d(x0, y1, z1);
     307        glVertex3d(x0, y1, z0);
     308    }
     309    glEnd();
     310   
     311    glBegin(GL_LINE_LOOP);
     312    {
     313        glVertex3d(x1, y0, z0);
     314        glVertex3d(x1, y0, z1);
     315        glVertex3d(x1, y1, z1);
     316        glVertex3d(x1, y1, z0);
     317    }
     318    glEnd();
     319
     320    glPopMatrix();
     321    glDisable(GL_DEPTH_TEST);
     322    glDisable(GL_BLEND);
     323    glEnable(GL_TEXTURE_2D);
     324}
     325
    270326void NvParticleRenderer::display_vertices()
    271327{
     
    276332    glEnable(GL_COLOR_MATERIAL);
    277333
     334    glPushMatrix();
     335
     336    glTranslatef(origin.x, origin.y, origin.z);
     337    glScaled(scale.x, scale.y, scale.z);
     338
     339// TBD...
     340/*
     341    draw_bounding_box(
     342        0, 0, 0,
     343        1, 1, 1,
     344        1, 1, 1, 2);
     345
     346    draw_bounding_box(
     347        0, 0.5f / 4.5f, 0.5f / 4.5,
     348        1, 4.0f / 4.5f, 4.0f / 4.5,
     349        1, 0, 0, 2);
     350
     351    draw_bounding_box(
     352        1/3.0f, 1.0f / 4.5f, 0.5f / 4.5,
     353        2/3.0f, 3.5f / 4.5f, 3.5f / 4.5,
     354        1, 1, 0, 2);
     355*/
     356
    278357    glPointSize(1.2);
    279358    glColor4f(.2,.2,.8,1.);
    280  
    281     glPushMatrix();
    282 
    283     glTranslatef(origin.x, origin.y, origin.z);
    284     glScaled(scale.x, scale.y, scale.z);
    285 
    286359    glEnableClientState(GL_VERTEX_ARRAY);
    287360    m_vertex_array->SetPointer(0);
Note: See TracChangeset for help on using the changeset viewer.