
Public Types | |
| typedef bool(* | OSGPPU_MODULE_ENTRY )(UnitInOutModule *) |
| typedef void(* | OSGPPU_MODULE_RELEASE )(void) |
Public Member Functions | |
| META_Node (osgPPU, UnitInOutModule) | |
| UnitInOutModule (const UnitInOutModule &, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| virtual | ~UnitInOutModule () |
| Release it and used memory. | |
| virtual bool | loadModule (const std::string &moduleFile) |
| virtual void | setModule (Module *module) |
| virtual void | removeModule () |
| Remove currently used module. | |
| const std::string & | getModuleFile () const |
| Get last loaded module file name. | |
| Module * | getModule () |
| Get currently loaded module. | |
| const Module * | getModule () const |
| void | init () |
| Initialze the default Processor unit. | |
Protected Member Functions | |
| virtual bool | noticeBeginRendering (osg::RenderInfo &, const osg::Drawable *) |
| Start cuda kernel running over the input textures. | |
| virtual void | noticeFinishRendering (osg::RenderInfo &, const osg::Drawable *) |
| Stop cuda kernel execution and write results to the output textures. | |
Protected Attributes | |
| bool | _moduleDirty |
|
osg::ref_ptr < osgDB::DynamicLibrary > | _moduleLib |
| std::string | _moduleFile |
| Module * | _module |
| We do not handle the destruction and release of module, because it has to be made in the address space of loaded module. | |
Data Structures | |
| class | Module |
UnitInOutModule does load a module from a dynamic library which is capable of doing processing operations on the input data. Such a module could be for example a cuda processing module which process the input by cuda.
| virtual bool osgPPU::UnitInOutModule::loadModule | ( | const std::string & | moduleFile | ) | [virtual] |
Specify the file name of a dynamic libray containg the module. A method "osgppuInitModule" has to be present in the library. To the method pointer of this unit will be passed to let it setup himself properly.
| virtual void osgPPU::UnitInOutModule::setModule | ( | Module * | module | ) | [virtual] |
Set module which will be used to process the input data.
Copyright (C) 2008 by Art Tevs (LGPL)