#include <iostream>
#include <vector>
#include <algorithm>
#include <typeinfo>
#include <cstring>
#include <cassert>
#include "gtex/gl_extensions.H"
#include "gtex/rendering_mode.H"
#include "gtex/basic_texture.H"
#include "gtex/solid_color.H"
#include "gtex/line_drawing.H"
#include "mlib/points.H"
Include dependency graph for line_drawing.C:

Go to the source code of this file.
Classes | |
| class | LineDrawingRenderingMode |
| The abstract interface for a "Line Drawing" sytle rendering mode. More... | |
| class | LineDrawingRenderingMode::LineDrawingStripCB |
| class | LineDrawingVprogFprogNoSSDMode |
| 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... | |
| class | LineDrawingVprogFprogNoSSDMode::StripCB |
| Handles callbacks for drawing triangle strips for the "Line Drawing" rendering style. More... | |
| class | LineDrawingGLSLMode |
| A rendering mode for the "Line Drawing" rendering style that uses the OpenGL shading language. More... | |
| class | LineDrawingGLSLMode::StripCB |
| Handles callbacks for drawing triangle strips for the "Line Drawing" rendering style. More... | |
| class | LineDrawingRenderingModeSelectionPolicy |
Typedefs | |
| typedef RenderingModeSingleton< LineDrawingRenderingModeSelectionPolicy > | LineDrawingModeSingleton |
Functions | |
| static GLuint | load_ARB_program (const char *header, GLenum target, const char *program_string) |
| GLhandleARB | load_ARB_shader (const char *header, GLenum shader_type, const char *shader_string) |
| bool | link_ARB_shader (const char *header, GLhandleARB prog_handle) |
| void | print_ARB_infolog (GLhandleARB object) |
| void | maketexture (double width, double fadeout) |
| Create a texture with a black line of the given width. | |
Variables | |
| const char * | LINE_DRAWING_VERTEX_PROGRAM_STR |
| const char * | LINE_DRAWING_FRAGMENT_PROGRAM_NO_SSD_STR |
| const char * | LINE_DRAWING_VERTEX_SHADER_STR |
| const char * | LINE_DRAWING_FRAGMENT_SHADER_STR |
Definition in file line_drawing.C.
|
|
Definition at line 991 of file line_drawing.C. |
|
||||||||||||
|
Definition at line 1263 of file line_drawing.C. References GL_OBJECT_LINK_STATUS_ARB, glGetObjectParameterivARB, glLinkProgramARB, and print_ARB_infolog(). Referenced by LineDrawingGLSLMode::LineDrawingGLSLMode(). |
|
||||||||||||||||
|
Definition at line 1189 of file line_drawing.C. References GLExtensions::gl_arb_fragment_program_loaded(), GLExtensions::gl_arb_vertex_program_loaded(), GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, GL_VERTEX_PROGRAM_ARB, glBindProgramARB, glDeleteProgramsARB, glGenProgramsARB, and glProgramStringARB. |
|
||||||||||||||||
|
Definition at line 1232 of file line_drawing.C. References GL_OBJECT_COMPILE_STATUS_ARB, glCompileShaderARB, glCreateShaderObjectARB, glDeleteObjectARB, glGetObjectParameterivARB, glShaderSourceARB, and print_ARB_infolog(). Referenced by LineDrawingGLSLMode::LineDrawingGLSLMode(). |
|
||||||||||||
|
Create a texture with a black line of the given width.
Call this after binding a valid texture object. That texture object will have its image data replaced with a 1024x1024 pixel image containing a black line of width This function automatically computes mipmaps and turns on trilinear filtering (i.e. minification filter GL_LINEAR_MIPMAP_LINEAR). Definition at line 1115 of file line_drawing.C. References GL_CLAMP, GL_CLAMP_TO_EDGE, GL_LINEAR, GL_LINEAR_MIPMAP_LINEAR, GL_LUMINANCE, GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MAX_ANISOTROPY_EXT, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_UNPACK_ALIGNMENT, GL_UNSIGNED_BYTE, glPixelStorei(), glTexImage2D(), glTexParameterfv(), glTexParameteri(), max(), min(), and sqr(). Referenced by LineDrawingVprogFprogNoSSDMode::LineDrawingVprogFprogNoSSDMode(). |
|
|
Definition at line 1286 of file line_drawing.C. References GL_OBJECT_INFO_LOG_LENGTH_ARB, glGetInfoLogARB, and glGetObjectParameterivARB. Referenced by link_ARB_shader(), and load_ARB_shader(). |
|
|
Definition at line 206 of file line_drawing.C. Referenced by LineDrawingVprogFprogNoSSDMode::LineDrawingVprogFprogNoSSDMode(). |
|
|
Definition at line 356 of file line_drawing.C. Referenced by LineDrawingGLSLMode::LineDrawingGLSLMode(). |
|
|
Definition at line 29 of file line_drawing.C. Referenced by LineDrawingVprogFprogNoSSDMode::LineDrawingVprogFprogNoSSDMode(). |
|
|
Definition at line 282 of file line_drawing.C. Referenced by LineDrawingGLSLMode::LineDrawingGLSLMode(). |
1.4.4