Free Electron
|
OpenGL-specific implementations for DrawI. More...
#include <DrawOpenGL.h>
Public Member Functions | |
void | initialize (void) |
virtual BWORD | isDirect (void) const |
Returns TRUE is display is local and rendered directly. More... | |
virtual void | flush (void) |
Called once after each frame. More... | |
virtual void | pushMatrixState (void) |
Push transform matrices. More... | |
virtual void | popMatrixState (void) |
Pop transform matrices. More... | |
virtual void | pushMatrix (MatrixMode a_mode, Real a_values[16]) |
push a new 4x4 matrix on a particular stack More... | |
virtual void | popMatrix (MatrixMode a_mode) |
pop the top 4x4 matrix from a particular stack More... | |
virtual void | unbindVertexArray (void) |
currently, sets vertex array to zero in OpenGL More... | |
virtual void | setBrightness (Real a_brightness) |
set additive lightening More... | |
virtual void | setContrast (Real a_contrast) |
set multiplicitive light scaling More... | |
virtual void | setDrawMode (sp< DrawMode > spMode) |
Set rendering mode. More... | |
virtual sp< FontI > | font (void) |
Get current font. More... | |
virtual Real | multiplication (void) |
Select the GL-specific index/handle. More... | |
virtual void | drawPoints (const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, BWORD multicolor, const Color *color, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawLines (const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, StripMode strip, BWORD multicolor, const Color *color, BWORD multiradius, const Real *radius, const Vector3i *element, U32 elementCount, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawTriangles (const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color, const Array< I32 > *vertexMap, const Array< I32 > *hullPointMap, const Array< Vector4i > *hullFacePoint, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawRectangles (const SpatialVector *vertex, U32 vertices, BWORD multicolor, const Color *color) |
Draw rectangles. More... | |
virtual void | drawAlignedText (const SpatialVector &location, const String text, const Color &color) |
Draw screen-aligned single color text. More... | |
virtual void | drawTransformedPoints (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, BWORD multicolor, const Color *color, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawTransformedLines (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, StripMode strip, BWORD multicolor, const Color *color, BWORD multiradius, const Real *radius, const Vector3i *element, U32 elementCount, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawTransformedTriangles (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color, const Array< I32 > *vertexMap, const Array< I32 > *hullPointMap, const Array< Vector4i > *hullFacePoint, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawRaster (sp< ImageI > spImageI, const SpatialVector &location) |
virtual sp< DrawBufferI > | createBuffer (void) |
Public Member Functions inherited from fe::ext::DrawCommon | |
void | initialize (void) |
virtual sp< DrawMode > | drawMode (void) const |
Get rendering mode. More... | |
virtual void | pushDrawMode (sp< DrawMode > mode) |
Push rendering mode onto stack. More... | |
virtual sp< DrawMode > | popDrawMode (void) |
Pop rendering mode from stack. More... | |
virtual Real | brightness (void) |
get lightening More... | |
virtual Real | contrast (void) |
get light scaling More... | |
virtual void | setView (sp< ViewI > spViewI) |
Set current view. More... | |
virtual sp< ViewI > | view (void) const |
Get current view. More... | |
virtual void | drawCurve (const SpatialVector *vertex, const SpatialVector *normal, const Real *radius, U32 vertices, BWORD multicolor, const Color *color) |
Draw one curve. More... | |
virtual void | draw (cp< DrawableI > cpDrawableI, const Color *color) |
Draw DrawableI. More... | |
virtual void | draw (cp< DrawableI > cpDrawableI, const Color *color, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawTransformed (const SpatialTransform &transform, cp< DrawableI > cpDrawableI, const Color *color) |
virtual void | drawTransformed (const SpatialTransform &transform, cp< DrawableI > cpDrawableI, const Color *color, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawBox (const Box2 &box, const Color &color) |
Draw 2D box. More... | |
virtual void | drawBox (const Box2i &box, const Color &color) |
Draw 2D box with pixel adjustments. More... | |
virtual void | drawBox (const Box3 &box, const Color &color) |
Draw 3D box. More... | |
virtual void | drawCircle (const SpatialTransform &transform, const SpatialVector *scale, const Color &color) |
virtual void | drawSphere (const SpatialTransform &transform, const SpatialVector *scale, const Color &color) |
virtual void | drawCylinder (const SpatialTransform &transform, const SpatialVector *scale, Real baseScale, const Color &color, U32 slices) |
Draw a transformed cylinder or cone. More... | |
virtual void | drawCylinder (const SpatialVector &location1, const SpatialVector &location2, Real radius1, Real radius2, const Color &color, U32 slices) |
virtual void | drawCylinders (const SpatialTransform *transform, const SpatialVector *scale, const Real *baseScale, const U32 *slices, U32 cylinders, BWORD multicolor, const Color *color) |
virtual void | drawTransformedCylinders (const SpatialTransform &pretransform, const SpatialTransform *transform, const SpatialVector *scale, const Real *baseScale, const U32 *slices, U32 cylinders, BWORD multicolor, const Color *color) |
virtual void | drawArc (const SpatialTransform &transform, const SpatialVector *scale, Real startangle, Real endangle, const Color &color) |
virtual void | drawTransformedPoints (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, BWORD multicolor, const Color *color) |
virtual void | drawTransformedLines (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, StripMode strip, BWORD multicolor, const Color *color) |
virtual void | drawTransformedCurve (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, const Real *radius, U32 vertices, BWORD multicolor, const Color *color) |
virtual void | drawTransformedTriangles (const SpatialTransform &transform, const SpatialVector *scale, const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color) |
virtual void | drawTransformedBox (const SpatialTransform &transform, const Box3 &box, const Color &color) |
virtual void | drawTransformedBoxes (const SpatialTransform *transform, const SpatialVector *scale, U32 boxes, BWORD multicolor, const Color *color) |
virtual void | drawAxes (Real scale) |
virtual void | drawTransformedAxes (const SpatialTransform &transform, Real scale) |
virtual void | drawMarker (Real radius, const Color &color) |
virtual void | drawTransformedMarker (const SpatialTransform &transform, Real radius, const Color &color) |
virtual void | setDrawChain (sp< DrawI > a_spDrawI) |
Set next DrawI in a chain. More... | |
virtual sp< DrawI > | drawChain (void) |
virtual void | setTransform (const SpatialTransform &a_rTransform) |
Impose a spatial translation. More... | |
virtual void | flushLive (void) |
Pass on current input data as is. More... | |
virtual void | clearInput (void) |
Reset the current input queue. More... | |
virtual BWORD | empty (void) const |
Returns TRUE if the current input queue is empty. More... | |
virtual void | drawPoints (const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, BWORD multicolor, const Color *color) |
Draw points vertex[vertices]. More... | |
virtual void | drawLines (const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, StripMode strip, BWORD multicolor, const Color *color) |
Draw lines. More... | |
virtual void | drawTriangles (const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color) |
Draw triangles. More... | |
Public Member Functions inherited from fe::Initialized | |
void | initializeAll (void) |
void | setActive (bool a_active) |
Public Member Functions inherited from fe::Component | |
const String & | name (void) const |
Return the components chosen name. More... | |
const String | verboseName (void) const |
Return the annotated chosen name. More... | |
void | setName (const String &name) |
Rename the component to anything you want. More... | |
hp< Registry > | registry (void) const |
Get the Registry that created this component. More... | |
void | adjoin (sp< Component > spComponent) |
Tie this component's lifetime to another. More... | |
sp< Component > | create (const String &implementation, BWORD quiet=FALSE) const |
Convienience function to registry()->create() More... | |
void | disjoin (void) |
Untie component from Hub, if connected. More... | |
String | factoryName (void) |
void | setLibrary (sp< Library > spLibrary) |
Store a reference to the library used to instantiate this component. More... | |
sp< Library > | library (void) |
Get the library that created the component. More... | |
void | setFactoryIndex (I32 a_factoryIndex) |
Set the library's factory index. More... | |
I32 | factoryIndex (void) |
Get the library's factory index. More... | |
void | setSingleton (BWORD set) |
Specify whether component is a singleton. More... | |
BWORD | isSingleton (void) |
Return whether component is a singleton. More... | |
virtual void | acquire (void) |
Specialized reference increment. More... | |
virtual void | release (void) |
Specialized reference decrement. More... | |
Public Member Functions inherited from fe::Handled< Component > | |
const hp< Component > & | getHandle (void) const |
Get a safe handle to this object. More... | |
Public Member Functions inherited from fe::Protectable | |
virtual I32 | protection (void) const |
virtual void | protect (void) |
virtual void | unprotect (void) |
virtual Protectable * | clone (Protectable *pInstance=NULL) |
Public Member Functions inherited from fe::Counted | |
virtual void | acquire (int &rCount) |
Increment the reference count (and get the count) More... | |
virtual void | abandon (void) |
Decrement the reference count. More... | |
int | count (void) const |
Return the count of references. More... | |
void | setName (const String &) |
void | trackReference (void *pReference, String what) |
void | untrackReference (void *pReference) |
void | registerRegion (void *pT, U32 bytes) |
Protected Member Functions | |
virtual void | createDefaultView (void) |
virtual void | drawPolys (U32 grain, const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color, const Array< I32 > *vertexMap, const Array< I32 > *hullPointMap, const Array< Vector4i > *hullFacePoint, sp< DrawBufferI > spDrawBuffer) |
virtual void | drawLinesInternal (const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color, BWORD multiradius, const Real *radius, const Vector3i *element, U32 elementCount, sp< DrawBufferI > spDrawBuffer) |
sp< Texture > | createTexture (void) |
sp< Texture > | getTexture (GLsizei a_width, GLsizei a_height, GLenum a_format, GLenum a_type, const GLvoid *a_pData, I32 a_serial) |
void | assureFont (void) |
void | threadLock (void) |
void | threadUnlock (void) |
void | bindTexture (sp< ImageI > spImageI, I32 imageID) |
void | drawCylinderGLU (const SpatialTransform &transform, const SpatialVector *scale, Real baseScale, const Color &color, U32 slices) |
void | drawSphereGLU (const SpatialTransform &transform, const SpatialVector *scale, const Color &color) |
void | beginArrays (const SpatialVector *vertex, const SpatialVector *normal, const Array< I32 > *vertexMap, const Vector2 *texture, U32 vertices, BWORD multicolor, const Color *color, sp< DrawBufferI > spDrawBuffer, BWORD normals, BWORD blending) |
void | endArrays (const Array< I32 > *vertexMap, const Vector2 *texture, BWORD multicolor, const Color *color, sp< DrawBufferI > spDrawBuffer, BWORD normals) |
void | setupLights (void) |
void | createDefaultTexture (void) |
void | useDefaultTexture (void) |
void | pushAntialiasPoints (void) |
void | pushAntialiasLines (void) |
void | pushBlending (void) |
void | activateBlending (void) |
void | queryFormat (sp< ImageI > spImageI, GLenum &format, GLenum &type, GLint &components) |
void | setup (DrawMode::DrawStyle style, BWORD lit, BWORD dual, BWORD texture, BWORD frontcull, BWORD backcull, BWORD zBuffer) |
Protected Member Functions inherited from fe::ext::DrawCommon | |
DrawMode::DrawStyle | drawStyle (void) const |
sp< ImageI > | textureImage (void) const |
I32 | textureImageID (void) const |
Real | pointSize (void) const |
Real | lineWidth (void) const |
BWORD | antialias (void) const |
BWORD | frontfaceCulling (void) const |
BWORD | backfaceCulling (void) const |
BWORD | twoSidedLighting (void) const |
BWORD | zBuffering (void) const |
BWORD | isLit (void) const |
BWORD | isUvSpace (void) const |
Protected Member Functions inherited from fe::Initialized | |
void | addInitializer (InitializeFunction function) |
Protected Member Functions inherited from fe::Handled< Component > | |
void | abandonHandle (void) |
Protected Member Functions inherited from fe::Counted | |
int | releaseInternal (void) |
Decrement the reference count. More... | |
void | suppressReport (void) |
Static Protected Member Functions | |
static void | checkForError (String a_location) |
Protected Attributes | |
sp< ImageI > | m_spCurrentTexture |
I32 | m_currentTextureId |
Real | m_multiplication |
BWORD | m_isDirect |
BWORD | m_lockThreads |
GLUquadric * | m_pQuadric |
sp< Texture > | m_spDefaultTexture |
GLubyte | m_defaultTextureData [DGL_DEFAULT_TEXTURE_SIZE][DGL_DEFAULT_TEXTURE_SIZE][3] |
std::map< const void *, sp< Texture > > | m_textureTable |
sp< FontI > | m_spFont |
Protected Attributes inherited from fe::ext::DrawCommon | |
sp< ViewI > | m_spDefaultView |
Real | m_brightness |
Real | m_contrast |
Additional Inherited Members | |
Public Types inherited from fe::ext::DrawI | |
enum | StripMode { e_discrete, e_strip, e_fan, e_triple } |
Format of vertices for tri-stripping. More... | |
enum | MatrixMode { e_modelview, e_projection, e_texture, e_color } |
Static Public Member Functions inherited from fe::Counted | |
static String | reportTracker (void) |
static U32 | trackerCount (void) |
Protected Types inherited from fe::Initialized | |
typedef void(* | InitializeFunction) (Initialized *) |
Related Functions inherited from fe::Component | |
FE_DL_EXPORT void FE_CDECL | checkUnload (sp< Library > &pLibrary, Component *pComponent=NULL) |
Delete the component and unload libraries where appropriate. More... | |
OpenGL-specific implementations for DrawI.
|
virtual |
Draw screen-aligned single color text.
Text is drawn at the given location, transformed and projected by the current state of the underlying graphics system.
Reimplemented from fe::ext::DrawCommon.
|
virtual |
Draw rectangles.
Uses vertices and colors as explained in drawPoints.
Rectangles are never stripped.
Reimplemented from fe::ext::DrawCommon.
|
virtual |
Called once after each frame.
This shifts data access to freeze the current input buffer and prepare a new empty input buffer.
The resulting output buffer is sent on to the next DrawI interface.
Reimplemented from fe::ext::DrawCommon.
Reimplemented in fe::ext::DrawHydra.
References fe::errorString(), and fe::ext::DrawNull::view().
Referenced by fe::ext::DrawHydra::flush().
Get current font.
Reimplemented from fe::ext::DrawCommon.
References fe::ext::DrawCommon::drawLines(), fe::ext::DrawCommon::drawPoints(), and fe::ext::DrawCommon::drawTriangles().
|
inlinevirtual |
Returns TRUE is display is local and rendered directly.
Reimplemented from fe::ext::DrawCommon.
|
virtual |
Select the GL-specific index/handle.
An index of 0 indicates no font. upscaling preference, such as for high DPI
Reimplemented from fe::ext::DrawCommon.
|
virtual |
pop the top 4x4 matrix from a particular stack
Reimplemented from fe::ext::DrawCommon.
|
virtual |
Pop transform matrices.
Reimplemented from fe::ext::DrawCommon.
|
virtual |
push a new 4x4 matrix on a particular stack
Reimplemented from fe::ext::DrawCommon.
|
virtual |
Push transform matrices.
Reimplemented from fe::ext::DrawCommon.
|
virtual |
set additive lightening
Reimplemented from fe::ext::DrawCommon.
References fe::ext::DrawCommon::setBrightness().
|
virtual |
set multiplicitive light scaling
Reimplemented from fe::ext::DrawCommon.
References fe::Registry::create(), fe::Component::registry(), and fe::ext::DrawCommon::setContrast().
Set rendering mode.
Reimplemented from fe::ext::DrawCommon.
|
virtual |
currently, sets vertex array to zero in OpenGL
Reimplemented from fe::ext::DrawCommon.