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)