![]() |
VR-Forces Developer's Guide
|
The DtRenderer owns the component systems that draw. This class is a group node which serves as a node in the OSG scenegraph that will allow the component systems to cull and draw.
There is only one of these nodes created by DtOsgRenderer and it is connected to the OSG scenegraph near the top of the graph.
When it's time to cull, this node will provide camera data to each system so that each system can collect items to be rendered.
When it's time to render, this node will provide camera data to each system so that each system can render the items that were visible during cull. It also provides backing GPU buffers to systems.
For example, a system's staging buffer(s) will be transfered to a backing GPU buffer when the staging data changes, and then finally submitted to opengl. A backing GPU buffer(s) will be created for each unique system.
This DtOsgComponentSystemNode has drawables underneath it in the osg scenegraph. Each drawable represents a render state and a specific point in the osg scenegraph. Currently only 1 drawable is required and that drawable is for the alpha-to-coverage draw bin. If more drawables are required in the future, then each drawable should maintain a list of systems that use it, or the system itself should define which draw bins it wants to use.

Public Member Functions | |
| DtOsgComponentSystemNode (DtDe &de) | |
| DtOsgComponentSystemNode (const DtOsgComponentSystemNode &orig, const osg::CopyOp &opr) | |
| virtual | ~DtOsgComponentSystemNode () |
| DtOsgComponentSystemNode ()=delete | |
| DtOsgComponentSystemNode (const DtOsgComponentSystemNode &other)=delete | |
| DtOsgComponentSystemNode & | operator= (const DtOsgComponentSystemNode &other)=delete |
| virtual void | releaseGLObjects (osg::State *state=0) const override |
| virtual osg::Object * | clone (const osg::CopyOp ©op) const |
| virtual osg::Object * | cloneType () const |
| virtual void | deleteGeode () |
| virtual void | drawObjects (osg::RenderInfo &renderInfo, const DtOsgComponentSystemDrawable &drawable) |
Protected Member Functions | |
| virtual void | slot_reloadShaders () |
| virtual void | traverse (osg::NodeVisitor &nv) |
| virtual bool | cullObjects (osg::Camera *cam, const DtModelSetId modelSetId) |
| virtual void | drawGeom3dLinesSystem (osg::RenderInfo &renderInfo, osg::Camera *camera, bool skyRendering) |
| virtual void | drawGeom3dSpheresSystem (osg::RenderInfo &renderInfo, osg::Camera *camera, bool skyRendering) |
Protected Attributes | |
| DtDe & | myDe |
| DtSignalConnectionManager | myConnections |
| osg::ref_ptr< osg::Geode > | myGeode |
| osg::ref_ptr< osg::Drawable > | myDrawable |
| Frustum_64 | myFrustum |
| Dt3dLinesCameraRenderer * | myGeom3dLinesCameraRenderer |
| Dt3dSpheresCameraRenderer * | myGeom3dSpheresCameraRenderer |
Private Member Functions | |
| osg::Node * | getChildNodeByName (osg::Group *parent, const char *name) |
| void | connectSignals () |
| makVrv::DtOsgComponentSystemNode::DtOsgComponentSystemNode | ( | DtDe & | de | ) |
CTOR.
| makVrv::DtOsgComponentSystemNode::DtOsgComponentSystemNode | ( | const DtOsgComponentSystemNode & | orig, |
| const osg::CopyOp & | opr | ||
| ) |
Copy constructor needed because it is derived from osg::Group.
|
virtual |
DTOR.
|
delete |
Default Constructor not implemented.
|
delete |
Copy Constructor not implemented - Copy not allowed.
|
delete |
Assignment Operator not implemented - Assignment not allowed.
|
overridevirtual |
release gl for fog patch and fog effect
|
inlinevirtual |
required functions for derriving from osg::Group
|
inlinevirtual |
|
virtual |
Tell the group to delete its specific children.
|
virtual |
Draw all objects for the given drawable. The drawable represents a render state and a specific point in the osg scenegraph. For example, there is a drawable for systems that need to be drawn in the alpha-to-coverage bin. This is called from the drawable itself during draw.
|
protectedvirtual |
Signal handler to reload the shaders.
|
protectedvirtual |
Traverse.
|
protectedvirtual |
Cull objects for current camera. Returns true is there is something to draw. Returns false if all object were culled.
| cam | The current camera. |
|
protectedvirtual |
Helper for drawObjects to specifically draw the Geom3dLinesSystem.
|
protectedvirtual |
Helper for drawObjects to specifically draw the Geom3dSpheresSystem.
|
private |
This is private and non-virtual because it's used in the constructor. This method returns the first child node that matches the given name.
|
private |
This is private and non-virtual because it's used in the constructor.
Connects all the signals.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |