nGLServer2 Class Reference
[OpenGL Graphics Subsystem]
#include <nglserver2.h>
Inheritance diagram for nGLServer2:

Detailed Description
OpenGL 2 based gfx server.2003 cubejk created 2003-2006 Haron
Definition at line 23 of file nglserver2.h.
Public Types | |
| enum | GLShaderSystem { GLSL, CGFX, CG, GLES } |
| skip message loop in trigger More... | |
Public Member Functions | |
| nGLServer2 () | |
| constructor | |
| virtual | ~nGLServer2 () |
| destructor | |
| virtual nMesh2 * | NewMesh (const nString &rsrcName) |
| create a shared mesh object | |
| virtual nMeshArray * | NewMeshArray (const nString &rsrcName) |
| create a mesh array object | |
| virtual nTexture2 * | NewTexture (const nString &rsrcName) |
| create a shared texture object | |
| virtual nShader2 * | NewShader (const nString &rsrcName) |
| create a shared shader object | |
| virtual nFont2 * | NewFont (const nString &rsrcName, const nFontDesc &fontDesc) |
| create a font object | |
| virtual nTexture2 * | NewRenderTarget (const nString &rsrcName, int width, int height, nTexture2::Format fmt, int usageFlags) |
| create a render target object | |
| virtual nOcclusionQuery * | NewOcclusionQuery () |
| create a new occlusion query object | |
| virtual void | SetDisplayMode (const nDisplayMode2 &mode) |
| set display mode | |
| virtual const nDisplayMode2 & | GetDisplayMode () const |
| get display mode | |
| virtual void | SetWindowTitle (const char *title) |
| set the window title | |
| virtual void | SetCamera (nCamera2 &cam) |
| set the current camera description | |
| virtual void | SetViewport (nViewport &vp) |
| set the viewport | |
| virtual bool | OpenDisplay () |
| open the display | |
| virtual void | CloseDisplay () |
| close the display | |
| virtual FeatureSet | GetFeatureSet () |
| get the best supported feature set | |
| virtual bool | AreVertexShadersEmulated () |
| return true if vertex shader run in software emulation | |
| virtual HWND | GetAppHwnd () const |
| get window handle | |
| virtual HWND | GetParentHwnd () const |
| parent window handle | |
| virtual void | SetRenderTarget (int index, nTexture2 *t) |
| set a new render target texture | |
| virtual bool | BeginFrame () |
| start rendering the current frame | |
| virtual bool | BeginScene () |
| start rendering to current render target | |
| virtual void | EndScene () |
| finish rendering to current render target | |
| virtual void | PresentScene () |
| present the contents of the back buffer | |
| virtual void | EndFrame () |
| end rendering the current frame | |
| virtual void | Clear (int bufferTypes, float red, float green, float blue, float alpha, float z, int stencil) |
| clear buffers | |
| virtual void | ClearLights () |
| reset the light array | |
| virtual void | ClearLight (int index) |
| remove a light | |
| virtual int | AddLight (const nLight &light) |
| add a light to the light array (reset in BeginScene) | |
| virtual void | SetMesh (nMesh2 *vbMesh, nMesh2 *ibMesh) |
| set current mesh | |
| virtual void | SetMeshArray (nMeshArray *meshArray) |
| set current mesh array, clearing the single mesh | |
| virtual void | SetShader (nShader2 *shader) |
| set current shader | |
| virtual void | SetTransform (TransformType type, const matrix44 &matrix) |
| set transform | |
| virtual void | DrawIndexed (PrimitiveType primType) |
| draw the current mesh with indexed primitives | |
| virtual void | Draw (PrimitiveType primType) |
| draw the current mesh witn non-indexed primitives | |
| virtual void | DrawIndexedNS (PrimitiveType primType) |
| render indexed primitives without applying shader state (NS == No Shader) | |
| virtual void | DrawNS (PrimitiveType primType) |
| render non-indexed primitives without applying shader state (NS == No Shader) | |
| virtual bool | Trigger () |
| trigger the window system message pump | |
| virtual void | EnterDialogBoxMode () |
| enter dialog box mode (display mode must have DialogBoxMode enabled!) | |
| virtual void | LeaveDialogBoxMode () |
| leave dialog box mode | |
| virtual bool | SaveScreenshot (const char *fileName, nTexture2::FileFormat fileFormat) |
| save a screen shot | |
| virtual void | BeginLines () |
| begin rendering lines | |
| virtual void | DrawLines3d (const vector3 *vertexList, int numVertices, const vector4 &color) |
| draw 3d lines, using the current transforms | |
| virtual void | DrawLines2d (const vector2 *vertexList, int numVertices, const vector4 &color) |
| draw 2d lines in screen space | |
| virtual void | EndLines () |
| finish line rendering | |
| virtual void | BeginShapes () |
| begin shape rendering (for debug visualizations) | |
| virtual void | DrawShape (ShapeType type, const matrix44 &model, const vector4 &color) |
| draw a shape with the given model matrix with given color | |
| virtual void | DrawShapeNS (ShapeType type, const matrix44 &model) |
| draw a shape without shader management | |
| virtual void | DrawShapePrimitives (PrimitiveType type, int numPrimitives, const vector3 *vertexList, int vertexWidth, const matrix44 &model, const vector4 &color) |
| draw direct primitives | |
| virtual void | DrawShapeIndexedPrimitives (PrimitiveType type, int numPrimitives, const vector3 *vertexList, int numVertices, int vertexWidth, void *indices, IndexType indexType, const matrix44 &model, const vector4 &color) |
| draw direct indexed primitives (slow, use for debug visual visualization only!) | |
| virtual void | EndShapes () |
| end shape rendering | |
Static Public Member Functions | |
| static nGLServer2 * | Instance () |
| get instance pointer | |
Friends | |
| class | nGLMesh |
| minimize window when d3d device is destroyed | |
| class | nGLTexture |
| class | nCgFXShader |
| class | nGLSLShader |
Member Enumeration Documentation
|
|
skip message loop in trigger
Definition at line 165 of file nglserver2.h. |
Constructor & Destructor Documentation
|
|
constructor
Definition at line 80 of file nglserver2_main.cc. |
|
|
destructor
Definition at line 145 of file nglserver2_main.cc. |
Member Function Documentation
|
|
get instance pointer
Reimplemented from nGfxServer2. Definition at line 376 of file nglserver2.h. |
|
|
create a shared mesh object Create a new shared mesh object. If the object already exists, its refcount is increment.
Reimplemented from nGfxServer2. Definition at line 26 of file nglserver2_resource.cc. |
|
|
create a mesh array object Create a new mesh array object.
Reimplemented from nGfxServer2. Definition at line 39 of file nglserver2_resource.cc. |
|
|
create a shared texture object Create a new shared texture object. If the object already exists, its refcount is incremented.
Reimplemented from nGfxServer2. Definition at line 54 of file nglserver2_resource.cc. |
|
|
create a shared shader object Create a new shared shader object. If the object already exists, its refcount is incremented.
Reimplemented from nGfxServer2. Definition at line 68 of file nglserver2_resource.cc. |
|
||||||||||||
|
create a font object Create a new shared font object. If the object already exists, its refcount is incremented.
Reimplemented from nGfxServer2. Definition at line 84 of file nglserver2_resource.cc. |
|
||||||||||||||||||||||||
|
create a render target object Create a new render target object.
Reimplemented from nGfxServer2. Definition at line 104 of file nglserver2_resource.cc. |
|
|
create a new occlusion query object Create a new occlusion query object.
Reimplemented from nGfxServer2. Definition at line 138 of file nglserver2_resource.cc. |
|
|
set display mode Set the current display mode. This will not take effect until OpenDisplay() has been called! Reimplemented from nGfxServer2. Definition at line 306 of file nglserver2_main.cc. |
|
|
get display mode Get the current display mode. Reimplemented from nGfxServer2. Definition at line 316 of file nglserver2_main.cc. |
|
|
set the window title
Reimplemented from nGfxServer2. Definition at line 325 of file nglserver2_main.cc. |
|
|
set the current camera description Update the gl projection matrix from the new camera settings. Reimplemented from nGfxServer2. Definition at line 18 of file nglserver2_render.cc. |
|
|
set the viewport Update the device viewport. Reimplemented from nGfxServer2. Definition at line 34 of file nglserver2_render.cc. |
|
|
open the display Open the display, show the window Reimplemented from nGfxServer2. Definition at line 165 of file nglserver2_main.cc. |
|
|
close the display Close the display Reimplemented from nGfxServer2. Definition at line 201 of file nglserver2_main.cc. |
|
|
get the best supported feature set Get the supported feature set. Reimplemented from nGfxServer2. Definition at line 278 of file nglserver2_device.cc. |
|
|
return true if vertex shader run in software emulation
Reimplemented from nGfxServer2. Definition at line 334 of file nglserver2_main.cc. |
|
|
get window handle
Definition at line 387 of file nglserver2.h. |
|
|
parent window handle
Definition at line 397 of file nglserver2.h. |
|
||||||||||||
|
set a new render target texture
Reimplemented from nGfxServer2. |
|
|
start rendering the current frame Begin rendering the current frame. This is guaranteed to be called exactly once per frame. Reimplemented from nGfxServer2. Definition at line 382 of file nglserver2_render.cc. |
|
|
start rendering to current render target
Reimplemented from nGfxServer2. |
|
|
finish rendering to current render target
Reimplemented from nGfxServer2. |
|
|
present the contents of the back buffer
Reimplemented from nGfxServer2. |
|
|
end rendering the current frame Finish rendering the current frame. This is guaranteed to be called exactly once per frame after PresentScene() has happened. Reimplemented from nGfxServer2. Definition at line 411 of file nglserver2_render.cc. |
|
||||||||||||||||||||||||||||||||
|
clear buffers Clear buffers.
Reimplemented from nGfxServer2. Definition at line 435 of file nglserver2_render.cc. |
|
|
reset the light array Reset lighting. Reimplemented from nGfxServer2. Definition at line 52 of file nglserver2_render.cc. |
|
|
remove a light Reset lighting. Reimplemented from nGfxServer2. Definition at line 77 of file nglserver2_render.cc. |
|
|
add a light to the light array (reset in BeginScene) Add a light to the light array. This will update the shared light effect state. Reimplemented from nGfxServer2. Definition at line 94 of file nglserver2_render.cc. |
|
||||||||||||
|
set current mesh Bind vertex buffer and index buffer to vertex stream 0.
Reimplemented from nGfxServer2. Definition at line 472 of file nglserver2_render.cc. |
|
|
set current mesh array, clearing the single mesh Set a mesh array for multiple vertex streams. Must be a gl mesh array The mesh in the array at stream 0 must provide a index buffer!
Reimplemented from nGfxServer2. Definition at line 522 of file nglserver2_render.cc. |
|
|
set current shader Set the current shader object. Reimplemented from nGfxServer2. Definition at line 606 of file nglserver2_render.cc. |
|
||||||||||||
|
set transform Set a transformation matrix. This will update the shared state in the effect pool. Reimplemented from nGfxServer2. Definition at line 224 of file nglserver2_render.cc. |
|
|
draw the current mesh with indexed primitives Draw the currently set mesh with indexed primitives, texture and shader to the current render target. FIXME: the multipass renderer should check if state actually needs to be applied again. This is not necessary if the effect only has 1 pass, and is the same effect with the same parameters as in the last invocation of Draw(). Reimplemented from nGfxServer2. Definition at line 626 of file nglserver2_render.cc. |
|
|
draw the current mesh witn non-indexed primitives Draw the currently set mesh with non-indexed primitives. Reimplemented from nGfxServer2. Definition at line 674 of file nglserver2_render.cc. |
|
|
render indexed primitives without applying shader state (NS == No Shader) Renders the currently set mesh without applying any shader state. You must call nShader2::Begin(), nShader2::Pass() and nShader2::End() yourself as needed. Reimplemented from nGfxServer2. Definition at line 723 of file nglserver2_render.cc. |
|
|
render non-indexed primitives without applying shader state (NS == No Shader) Renders the currently set mesh without applying any shader state. You must call nShader2::Begin(), nShader2::Pass() and nShader2::End() yourself as needed. Reimplemented from nGfxServer2. Definition at line 758 of file nglserver2_render.cc. |
|
|
trigger the window system message pump Implements the Windows message pump. Must be called once a frame OUTSIDE of BeginScene() / EndScene().
Reimplemented from nGfxServer2. Definition at line 216 of file nglserver2_main.cc. |
|
|
enter dialog box mode (display mode must have DialogBoxMode enabled!) Enter dialog box mode. Reimplemented from nGfxServer2. Definition at line 257 of file nglserver2_main.cc. |
|
|
leave dialog box mode Leave dialog box mode. Reimplemented from nGfxServer2. Definition at line 281 of file nglserver2_main.cc. |
|
||||||||||||
|
save a screen shot Create screen shot and save it to given filename. (.jpg file)
Reimplemented from nGfxServer2. Definition at line 228 of file nglserver2_main.cc. |
|
|
begin rendering lines Begin rendering lines. Reimplemented from nGfxServer2. Definition at line 11 of file nglserver2_lines.cc. |
|
||||||||||||||||
|
draw 3d lines, using the current transforms Render a 3d line strip using the current transformations. Reimplemented from nGfxServer2. Definition at line 21 of file nglserver2_lines.cc. |
|
||||||||||||||||
|
draw 2d lines in screen space Render a 3d line strip using the current transformations. Careful: Clipping doesn't work correctly! Reimplemented from nGfxServer2. Definition at line 40 of file nglserver2_lines.cc. |
|
|
finish line rendering Finish rendering lines. Reimplemented from nGfxServer2. Definition at line 58 of file nglserver2_lines.cc. |
|
|
begin shape rendering (for debug visualizations) Begin rendering shape primitives. Shape primitives are handy for quickly rendering debug visualizations. Reimplemented from nGfxServer2. Definition at line 12 of file nglserver2_shapes.cc. |
|
||||||||||||||||
|
draw a shape with the given model matrix with given color Render a standard shape using the provided model matrix and color. Reimplemented from nGfxServer2. Definition at line 23 of file nglserver2_shapes.cc. |
|
||||||||||||
|
draw a shape without shader management Render a standard shape using the provided model matrix without any shader management. Reimplemented from nGfxServer2. Definition at line 35 of file nglserver2_shapes.cc. |
|
||||||||||||||||||||||||||||
|
draw direct primitives Draw non-indexed primitives. This is slow, so it should only be used for debug visualizations. Vertex width is number of float's! Reimplemented from nGfxServer2. Definition at line 46 of file nglserver2_shapes.cc. |
|
||||||||||||||||||||||||||||||||||||||||
|
draw direct indexed primitives (slow, use for debug visual visualization only!) Directly Draw indexed primitives. This is slow, so it should only be used for debug visualizations. Vertex width is number of float's! Reimplemented from nGfxServer2. Definition at line 57 of file nglserver2_shapes.cc. |
|
|
end shape rendering Finish rendering shapes. Reimplemented from nGfxServer2. Definition at line 75 of file nglserver2_shapes.cc. |
Friends And Related Function Documentation
|
|
minimize window when d3d device is destroyed
Definition at line 227 of file nglserver2.h. |
|
|
Definition at line 228 of file nglserver2.h. |
|
|
Definition at line 229 of file nglserver2.h. |
|
|
Definition at line 230 of file nglserver2.h. |
The documentation for this class was generated from the following files: