Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LineDrawingVprogFprogNoSSDMode Class Reference

A rendering mode for the "Line Drawing" rendering style that uses OpenGL ARB vertex and fragment programs without screen space derivatives (multitexturing is used instead). More...

Inheritance diagram for LineDrawingVprogFprogNoSSDMode:

Inheritance graph
[legend]
Collaboration diagram for LineDrawingVprogFprogNoSSDMode:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LineDrawingVprogFprogNoSSDMode ()
 ~LineDrawingVprogFprogNoSSDMode ()
virtual void setup_for_drawing_outside_dl (const Patch *patch)
 Setup the OpenGL state for rendering in this mode. This method will be called each time the style is drawn.
virtual void setup_for_drawing_inside_dl (const Patch *patch)
 Setup the OpenGL state for rendering in this mode. This method will be called once inside a display list.
virtual GLStripCBget_new_strip_cb () const
 Get a newly allocated object of the GLStripCB class used by this mode.
virtual void after_drawing_outside_dl (const Patch *patch)
 Perform any operations that should happen after drawing is complete. This method will be called each time the style is drawn.
virtual void after_drawing_inside_dl (const Patch *patch)
 Perform any operations that should happen after drawing is complete. This method will be called once inside a display list.

Private Member Functions

 LineDrawingVprogFprogNoSSDMode (const LineDrawingVprogFprogNoSSDMode &other)
LineDrawingVprogFprogNoSSDModeoperator= (const LineDrawingVprogFprogNoSSDMode &rhs)

Private Attributes

GLuint vprog_name
GLuint fprog_name
GLuint c_texture_name
GLuint sc_texture_name

Classes

class  StripCB
 Handles callbacks for drawing triangle strips for the "Line Drawing" rendering style. More...

Detailed Description

A rendering mode for the "Line Drawing" rendering style that uses OpenGL ARB vertex and fragment programs without screen space derivatives (multitexturing is used instead).

Definition at line 444 of file line_drawing.C.


Constructor & Destructor Documentation

LineDrawingVprogFprogNoSSDMode::LineDrawingVprogFprogNoSSDMode  ) 
 

Definition at line 481 of file line_drawing.C.

References c_texture_name, ERR_LEV_INFO, err_mesg(), fprog_name, GLExtensions::gl_arb_fragment_program_supported(), GLExtensions::gl_arb_multitexture_supported(), GLExtensions::gl_arb_vertex_program_supported(), GL_FRAGMENT_PROGRAM_ARB, GL_TEXTURE_2D, GL_VERTEX_PROGRAM_ARB, glBindTexture(), glGenTextures(), LINE_DRAWING_FRAGMENT_PROGRAM_NO_SSD_STR, LINE_DRAWING_VERTEX_PROGRAM_STR, load_ARB_program(), maketexture(), sc_texture_name, and vprog_name.

LineDrawingVprogFprogNoSSDMode::~LineDrawingVprogFprogNoSSDMode  ) 
 

Definition at line 531 of file line_drawing.C.

References c_texture_name, fprog_name, glDeleteProgramsARB, glDeleteTextures(), sc_texture_name, and vprog_name.

LineDrawingVprogFprogNoSSDMode::LineDrawingVprogFprogNoSSDMode const LineDrawingVprogFprogNoSSDMode other  )  [private]
 


Member Function Documentation

virtual void RenderingMode::after_drawing_inside_dl const Patch patch  )  [inline, virtual, inherited]
 

Perform any operations that should happen after drawing is complete. This method will be called once inside a display list.

Definition at line 67 of file rendering_mode.H.

Referenced by RenderingModeSingleton< RenderingModeSelectionPolicy >::after_drawing_inside_dl().

virtual void RenderingMode::after_drawing_outside_dl const Patch patch  )  [inline, virtual, inherited]
 

Perform any operations that should happen after drawing is complete. This method will be called each time the style is drawn.

Note:
Code that uses values that vary from redraw to redraw should be put in this method so that the values are not captured once in a display list.

Reimplemented in LineDrawingGLSLMode.

Definition at line 63 of file rendering_mode.H.

Referenced by RenderingModeSingleton< RenderingModeSelectionPolicy >::after_drawing_outside_dl().

virtual GLStripCB* LineDrawingVprogFprogNoSSDMode::get_new_strip_cb  )  const [inline, virtual]
 

Get a newly allocated object of the GLStripCB class used by this mode.

Note:
The returned GLStripCB pointer should be deleted by the caller when it is done being used.

Implements RenderingMode.

Definition at line 469 of file line_drawing.C.

LineDrawingVprogFprogNoSSDMode& LineDrawingVprogFprogNoSSDMode::operator= const LineDrawingVprogFprogNoSSDMode rhs  )  [private]
 

void LineDrawingVprogFprogNoSSDMode::setup_for_drawing_inside_dl const Patch patch  )  [virtual]
 

Setup the OpenGL state for rendering in this mode. This method will be called once inside a display list.

Reimplemented from RenderingMode.

Definition at line 611 of file line_drawing.C.

References c_texture_name, GL_TEXTURE0, GL_TEXTURE1, GL_TEXTURE_2D, glActiveTextureARB, glBindTexture(), glEnable(), and sc_texture_name.

void LineDrawingVprogFprogNoSSDMode::setup_for_drawing_outside_dl const Patch patch  )  [virtual]
 

Setup the OpenGL state for rendering in this mode. This method will be called each time the style is drawn.

Note:
Code that uses values that vary from redraw to redraw should be put in this method so that the values are not captured once in a display list.

Reimplemented from RenderingMode.

Definition at line 553 of file line_drawing.C.

References BMESH::avg_len(), VIEW::eye(), fprog_name, LineDrawingTexture::get_draw_contours(), LineDrawingTexture::get_draw_in_color(), LineDrawingTexture::get_draw_sugcontours(), LineDrawingTexture::get_sugcontour_thresh(), GL_FRAGMENT_PROGRAM_ARB, GL_VERTEX_PROGRAM_ARB, glBindProgramARB, glEnable(), glProgramEnvParameter4fARB, Patch::mesh(), sqr(), and vprog_name.


Member Data Documentation

GLuint LineDrawingVprogFprogNoSSDMode::c_texture_name [private]
 

Definition at line 477 of file line_drawing.C.

Referenced by LineDrawingVprogFprogNoSSDMode(), setup_for_drawing_inside_dl(), and ~LineDrawingVprogFprogNoSSDMode().

GLuint LineDrawingVprogFprogNoSSDMode::fprog_name [private]
 

Definition at line 477 of file line_drawing.C.

Referenced by LineDrawingVprogFprogNoSSDMode(), setup_for_drawing_outside_dl(), and ~LineDrawingVprogFprogNoSSDMode().

GLuint LineDrawingVprogFprogNoSSDMode::sc_texture_name [private]
 

Definition at line 477 of file line_drawing.C.

Referenced by LineDrawingVprogFprogNoSSDMode(), setup_for_drawing_inside_dl(), and ~LineDrawingVprogFprogNoSSDMode().

GLuint LineDrawingVprogFprogNoSSDMode::vprog_name [private]
 

Definition at line 477 of file line_drawing.C.

Referenced by LineDrawingVprogFprogNoSSDMode(), setup_for_drawing_outside_dl(), and ~LineDrawingVprogFprogNoSSDMode().


The documentation for this class was generated from the following file:
Generated on Mon Sep 18 11:46:27 2006 for jot by  doxygen 1.4.4