#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(). |