source: trunk/gui/vizservers/nanovis/NvColorTableRenderer.cpp @ 723

Last change on this file since 723 was 580, checked in by vrinside, 17 years ago
File size: 1.6 KB
Line 
1#include <R2/R2Fonts.h>
2#include "NvColorTableRenderer.h"
3#include <stdlib.h>
4
5NvColorTableRenderer::NvColorTableRenderer()
6: _fonts(NULL)
7{
8    _shader = new NvColorTableShader();   
9}
10
11NvColorTableRenderer::~NvColorTableRenderer()
12{
13    delete _shader;
14}
15
16void NvColorTableRenderer::render(int width, int height, Texture2D* texture, TransferFunction* tf, double rangeMin, double rangeMax)
17{
18    glEnable(GL_TEXTURE_2D);
19    glEnable(GL_BLEND);
20
21    glViewport(0, 0, width, height);
22    glMatrixMode(GL_PROJECTION);
23    glPushMatrix();
24    glLoadIdentity();
25    gluOrtho2D(0, width, 0, height);
26    glMatrixMode(GL_MODELVIEW);
27    glPushMatrix();
28    glLoadIdentity();
29
30    //glColor3f(1.,1.,1.);         //MUST HAVE THIS LINE!!!
31    _shader->bind(texture, tf);
32
33    glBegin(GL_QUADS);
34    glTexCoord2f(0, 0); glVertex2f(30, 30);
35    glTexCoord2f(1, 0); glVertex2f(width - 30, 30);
36    glTexCoord2f(1, 1); glVertex2f(width - 30, 60);
37    glTexCoord2f(0, 1); glVertex2f(30, 60);
38    glEnd();
39
40    _shader->unbind();
41
42    if (_fonts)
43    {
44        _fonts->resize(width, height);
45        _fonts->begin();
46        glPushMatrix();
47        glTranslatef(width - 110, 5, 0.0f);
48        _fonts->draw("Quantum dot lab - www.nanohub.org");
49        glPopMatrix();
50        glPushMatrix();
51        glTranslatef(30, height - 25, 0.0f);
52        _fonts->draw("%.08lf", rangeMin);
53        glPopMatrix();
54        glPushMatrix();
55        glTranslatef(width - 110, height - 25, 0.0f);
56        _fonts->draw("%.08lf", rangeMax);
57        _fonts->end();
58    }
59
60    glMatrixMode(GL_PROJECTION);
61    glPopMatrix();
62    glMatrixMode(GL_MODELVIEW);
63    glPopMatrix();
64}
Note: See TracBrowser for help on using the repository browser.