AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agxGL::Kernel Class Reference

#include <OpenGL.h>

+ Inheritance diagram for agxGL::Kernel:

Classes

struct  ShaderVariable
 

Public Member Functions

 Kernel (const agx::Name &name)
 
 Kernel (const agx::Name &name, agx::Device *device, const agx::String &shaderSourcePath, const agx::String &buildFlags)
 
virtual void addState (State *state)
 
void build (agx::Device *device)
 
virtual void configure (agx::TiXmlElement *eKernel) override
 
void dispatch ()
 
GLuint getShaderProgram ()
 
void voidDispatch ()
 
- Public Member Functions inherited from agx::Kernel
 Kernel (const agx::Name &name, agx::Device *device, const agx::Job::Callback &dispatcher)
 
virtual void configure (TiXmlElement *eKernel) override
 
virtual float getComputeTime ()
 
agx::UInt getCostPerElement () const
 
agx::UInt getMaxJobSize () const
 
agx::UInt getMinJobSize () const
 
agx::UInt getNumJobsPerThread () const
 
agx::UInt getNumWorkItems () const
 
virtual void preDispatch ()
 Explicitly set the splitting parameter.
 
virtual void rebind () override
 
void setCostPerElement (agx::UInt cost)
 Set the per-element cost estimate.
 
void setMaxJobSize (agx::UInt max)
 Set the maximum number of work elements per job.
 
void setMinJobSize (agx::UInt min)
 Set the minimum number of work elements per job.
 
void setNumJobsPerThread (agx::UInt numJobs)
 Set the number of jobs per thread.
 
- Public Member Functions inherited from agx::ParallelTask
 ParallelTask (const agx::Name &name, agx::Device *device=agx::CpuDevice::instance())
 
 ParallelTask (const agx::Name &name, const agx::Job::Callback &dispatchCallback, agx::Device *device=agx::CpuDevice::instance())
 
void addJob (agx::Job *job)
 Add a job to the task.
 
Job * getDispatchJob ()
 
virtual agx::Job * getPostJob () override
 
virtual agx::Job * getPreJob () override
 
void removeAllJobs ()
 Remove all jobs (except the original pre/dispatch/post jobs)
 
void setDispatch (const agx::Job::Callback &dispatchCallback)
 
virtual void setTargetThread (agx::Thread *thread) override
 Set a specific thread which must execute this task.
 
- Public Member Functions inherited from agx::Task
 Task (const agx::Name &name, agx::Device *device=agx::CpuDevice::instance())
 Constructor.
 
void addDependencies (const agx::String &paths)
 
void addDependency (agx::Task *parent)
 Add a dependency.
 
void addDependency (const agx::Path &path)
 
void addParameter (agx::Parameter *parameter)
 Add a parameter.
 
void addParameter (agx::Parameter *parameter, size_t index)
 
void addResolvePath (const agx::Path &path)
 
void addResolvePaths (const agx::String &paths)
 
void addTriggerPath (const agx::Path &path)
 
void addTriggerPaths (const agx::String &paths)
 
void beginCallback ()
 
virtual void configure (TiXmlElement *eTask) override
 
void configure (TiXmlElement *eTask, bool loadParameters)
 
void endCallback (agx::Real32 computeCost, agx::Real32 overheadCost=0)
 
void execute ()
 Execute the task.
 
agx::Real32 getAccumulatedComputeCost () const
 
agx::Real32 getAccumulatedOverheadTime () const
 
agx::Real32 getAccumulatedWallTime () const
 
agx::ArrayParameter * getArrayParameter (const agx::Name &name)
 
const agx::ArrayParameter * getArrayParameter (const agx::Name &name) const
 
const agx::TaskPtrVector & getChildren () const
 
agx::Real32 getComputeCost () const
 
agx::Thread * getDispatchThread ()
 
agx::TaskGroup * getGroup ()
 
const agx::TaskGroup * getGroup () const
 
agx::UInt getNumAccumulationSamples () const
 
agx::Real32 getOverheadTime () const
 
agx::Parameter * getParameter (const agx::Name &name)
 
const agx::Parameter * getParameter (const agx::Name &name) const
 
agx::Parameter * getParameter (size_t index)
 
const agx::Parameter * getParameter (size_t index) const
 
const agx::ParameterPtrVector & getParameters () const
 
const agx::TaskPtrVector & getParents () const
 
agx::PointerParameter * getPointerParameter (const agx::Name &name)
 
const agx::PointerParameter * getPointerParameter (const agx::Name &name) const
 
virtual agx::Job * getPostJob ()=0
 
virtual agx::Job * getPreJob ()=0
 
agx::ScalarParameter * getScalarParameter (const agx::Name &name)
 
const agx::ScalarParameter * getScalarParameter (const agx::Name &name) const
 
agx::Thread * getTargetThread ()
 
agx::Real32 getWallTime () const
 Performance statistics.
 
bool hasDependency (agx::Task *parent) const
 
bool isEnabled () const
 
bool isRunning () const
 
UInt32 matchParameters (agx::ParameterBindingVector &bindings, bool allowFormatPromotions)
 
UInt32 matchParameters (const agx::ParameterBindingVector &bindings)
 
UInt32 matchParameters (const ParameterTable &bindings)
 
void print () const
 
void print (std::ostream &stream) const
 
void printBindings ()
 
void printBindings (std::ostream &stream)
 
virtual void rebind () override
 
void removeDependency (agx::Task *parent)
 Remove a dependency.
 
void removeParameter (agx::Parameter *parameter)
 Remove a parameter.
 
void removeParameter (size_t index)
 
void replace (agx::Task *other)
 Replace the task with another task by rerouting the dependencies.
 
void resetAccumulationTimers (bool recursive=true)
 Reset accumulated performance statistics.
 
void save (agx::TiXmlElement *parent) const override
 
virtual void setContext (agx::Object *context) override
 
void setEnable (bool flag)
 Enable/disable a task.
 
void setModel (agx::Model *model)
 
virtual void setTargetThread (agx::Thread *thread)
 Set a specific thread which must execute this task.
 
void traverse (const Callback1< Task * > &callback, bool breadthFirst=true)
 
virtual void wait ()
 Block until the task has completed execution.
 
- Public Member Functions inherited from agx::Component
 Component (const agx::Name &name=agx::Name(), agx::Model *model=agx::Component::ClassModel(), agx::Device *device=nullptr)
 
virtual void addObject (agx::Object *object, bool assignContext=true)
 Add an object to the component.
 
virtual String autoComplete (const String &partialName, StringVector &matchingNames) const
 
virtual void buildNavigationTree (agxJson::Value &eNode) const override
 
void configure (Model *model)
 
virtual void configure (TiXmlElement *eComponent) override
 
agx::Device * getDevice ()
 
template<typename T >
T * getDevice ()
 
const agx::Device * getDevice () const
 
template<typename T >
const T * getDevice () const
 
size_t getNumObjects (const agx::Name &name) const
 
agx::Object * getObject (const agx::Name &name, agx::Model *model, size_t index=0)
 
const agx::Object * getObject (const agx::Name &name, agx::Model *model, size_t index=0) const
 
agx::Object * getObject (const agx::Name &name, size_t index=0)
 
template<typename T >
T * getObject (const agx::Name &name, size_t index=0)
 
const agx::Object * getObject (const agx::Name &name, size_t index=0) const
 
template<typename T >
const T * getObject (const agx::Name &name, size_t index=0) const
 
const agx::ObjectRefVector & getObjects () const
 
template<typename T >
void getObjects (agx::ObjectPtrVector &result, bool recursive=false) const
 Returns All child objects of a specified type in the result container.
 
void getObjects (agx::ObjectPtrVector &result, const agx::Model *model, bool recursive=false) const
 
virtual Object * getResourceImpl (const Path &path, agx::Model *model) override
 
virtual void printSubtree () const override
 
void printSubtree (std::ostream &stream, int depth=0) const
 
virtual void rebind () override
 
void removeAllObjects ()
 Remove all components.
 
virtual void removeObject (agx::Object *object)
 Remove an object from the component.
 
void removeObject (const agx::Name &name, size_t index=0)
 Remove an object with a specified name (and optional index) from the component.
 
virtual void snapshot (TiXmlNode *eParent, const String &directory) const override
 
void traverse (ComponentVisitor *)
 
void traverse (const TraverseCallback &callback)
 
- Public Member Functions inherited from agx::Object
 Object (const Name &name=Name(), Model *model=Object::ClassModel())
 
void addListener (EventListener *listener)
 
virtual void buildNavigationTree (agxJson::Value &eNode) const
 
virtual void configure (TiXmlElement *)
 
agx::String fullName () const
 
agx::String fullPath () const
 
agx::String fullPath (const agx::Object *root) const
 
template<typename T >
T * getAutoScopedResource (const agx::Path &path)
 
template<typename T >
const T * getAutoScopedResource (const agx::Path &path) const
 
agx::Object * getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::Object * getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const
 
agx::Object * getContext ()
 
template<typename T >
T * getContext ()
 
const agx::Object * getContext () const
 
template<typename T >
const T * getContext () const
 
agx::UInt32 getId () const
 
const agx::Name & getImplementationName () const
 
agx::Model * getModel ()
 
const agx::Model * getModel () const
 
const agx::Name & getName () const
 
agx::Object * getNextSibling ()
 
const agx::Object * getNextSibling () const
 
agx::Path getPath () const
 
agx::Path getPath (const agx::Object *root) const
 
template<typename T >
T * getResource (const agx::Path &path)
 
template<typename T >
const T * getResource (const agx::Path &path) const
 
agx::Object * getResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::Object * getResource (const agx::Path &path, agx::Model *model=nullptr) const
 
virtual agx::Object * getResourceImpl (const agx::Path &path, agx::Model *model)
 
agx::Object * getRootContext ()
 
const agx::Object * getRootContext () const
 
bool hasListener (EventListener *listener)
 
bool hasParent (const agx::Object *node) const
 
bool isUnique () const
 
virtual void printSubtree () const
 
virtual void rebind ()
 
void removeListener (EventListener *listener)
 
virtual void save (TiXmlElement *) const
 
virtual void setContext (agx::Object *context)
 
void setId (UInt32 id)
 
void setModel (agx::Model *model)
 Set the object model (handled automatically).
 
void setName (const agx::Name &name)
 Set the name of the object.
 
virtual void snapshot (TiXmlNode *, const String &) const
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referenced & operator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Static Public Member Functions

static Kernel * load (agx::TiXmlElement *eKernel, agx::Device *device)
 
- Static Public Member Functions inherited from agx::Kernel
static agx::Model * ClassModel ()
 
static Kernel * load (TiXmlElement *eKernel, Device *device)
 
- Static Public Member Functions inherited from agx::Task
static agx::Model * ClassModel ()
 
static ProfilingMode getProfilingMode ()
 
static Task * load (const char *path, Device *device=CpuDevice::instance())
 
static Task * load (const Path &path, const Name &implementation, agx::ParameterBindingVector &parameterList, bool allowFormatPromotions, Device *device=CpuDevice::instance())
 
static Task * load (const Path &path, const Name &implementation, const agx::ParameterBindingVector &parameterList, Device *device=CpuDevice::instance())
 
static Task * load (const Path &path, const Name &implementation, Device *device=CpuDevice::instance())
 
static Task * load (const Path &path, Device *device=CpuDevice::instance())
 
static Task * load (const String &path, Device *device=CpuDevice::instance())
 
static Task * load (TiXmlElement *eTask, Device *device)
 
static void printParameterMatch (UInt32 parameterMatch)
 
static void setProfilingMode (ProfilingMode mode)
 
- Static Public Member Functions inherited from agx::Component
static Component * _load (TiXmlElement *eComponent, Device *device)
 
static agx::Model * ClassModel ()
 
static Component * load (const Path &path, const Name &implementation, Device *device, const Path &_namespace=Path())
 
static Component * load (const String &path, const Path &_namespace=Path())
 
static Component * load (const String &path, Device *device, const Path &_namespace=Path())
 
static Component * load (TiXmlElement *eComponent, Device *device)
 
- Static Public Member Functions inherited from agx::Object
static agx::Model * ClassModel ()
 
static agx::String generateName (const agx::String &bindPath)
 
static const HashSet< Object * > & getActiveObjects ()
 
static bool getEnableRebind ()
 Should rebinding be allowed? Right now a global setting.
 
static Object * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
static Object * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
static void load (const String &path, Device *device, ObjectPtrVector &loadedObjects)
 
static Object * load (TiXmlElement *eObject, Device *device)
 
template<typename T >
static T * load (TiXmlElement *eObject, Device *device)
 
static TiXmlDocument openDocument (const String &path)
 
static void setEnableRebind (bool flag)
 Sets if rebinding of objects should be allowed (Right now a global setting).
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 

Protected Member Functions

virtual ~Kernel ()
 
void addAttribute (agx::TiXmlElement *eAttribute)
 
void addSharedAttribute (agx::TiXmlElement *eAttribute)
 
void addUniform (agx::TiXmlElement *eUniform)
 
bool deallocateVao ()
 
bool generateVao ()
 
void locateAttributes ()
 
void locateUniforms ()
 
void parsePrimitive (agx::TiXmlElement *eKernel)
 
void parseState (agx::TiXmlElement *eKernel)
 
void updateAttributes ()
 
void updateUniforms ()
 
- Protected Member Functions inherited from agx::Kernel
virtual ~Kernel ()
 
void locateNumWorkItemsValue ()
 
virtual void parameterAddedCallback (Parameter *parameter) override
 
virtual void parameterRemovedCallback (Parameter *parameter) override
 
- Protected Member Functions inherited from agx::ParallelTask
virtual ~ParallelTask ()
 
void endCallback ()
 
- Protected Member Functions inherited from agx::Task
virtual ~Task ()
 
void connectToChild (Task *descendant)
 
void connectToParent (Task *ancestor)
 
void disconnectFromChild (Task *descendant)
 
void disconnectFromParent (Task *ancestor)
 
void dispatchBlocking (Thread *thread)
 
void enableCallback (agxData::Value *enable)
 
virtual Object * getResourceImpl (const Path &path, agx::Model *model) override
 
void init ()
 
virtual void parameterAddedCallback (Parameter *)
 
virtual void parameterRemovedCallback (Parameter *)
 
void prepareGlobalResultSorting (size_t numJobs)
 
void registerBufferReadersAndWriters ()
 
void setGroup (TaskGroup *group)
 
virtual void subtaskAddedCallback (Task *)
 
void unregisterBufferReadersAndWriters ()
 
void verifyParameters ()
 
- Protected Member Functions inherited from agx::Component
virtual ~Component ()
 
String expandAutoCompletionMatch (const String &query, const StringVector &matchingNames) const
 
void setDevice (Device *device)
 
- Protected Member Functions inherited from agx::Object
virtual ~Object ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

agx::Vector< ShaderVariable > m_attributes
 
agx::String m_buildFlags
 
FragmentShader m_fragmentShader
 
GeometryShader m_geometryShader
 
agx::ArrayParameterRef m_indexArgument
 
bool m_multiDraw
 
agx::ArrayParameterRef m_multiDrawCountArgument
 
agx::ArrayParameterRef m_multiDrawFirstArgument
 
GLsizei m_numElements
 
agx::ScalarParameterRef m_numInstances
 
GLsizei m_numVerticesPerPrimitive
 
GLenum m_primitive
 
GLuint m_program
 
agx::String m_sourcePath
 
agx::Vector< StateRef > m_states
 
agx::Vector< ShaderVariable > m_uniforms
 
GLuint m_vao
 
VertexShader m_vertexShader
 
- Protected Attributes inherited from agx::Kernel
agxData::ValueRefT< UInt > m_numWorkItems
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Additional Inherited Members

- Public Types inherited from agx::Task
typedef Event1< Task * > ExecutionEvent
 
typedef Event2< Task *, Parameter * > ParameterEvent
 
enum  ParameterMatch {
  NO_EVENTS = 0 , EMPTY_BINDING_LIST = (1<<0) , PARAMETER_VALID = (1<<1) , PARAMETER_NOT_REQUIRED = (1<<2) ,
  PARAMETER_BOUND = (1<<3) , PARAMETER_HAS_BOUND_PATH = (1<<4) , FORMATS_MATCH = (1<<5) , NEED_DEVICE_TRANSFORM = (1<<6) ,
  MISSING_BINDING = (1<<7) , BINDING_LACKS_TYPE = (1<<8) , FORMATS_MISSMATCH = (1<<9) , EXTRA_BINDING = (1<<10) ,
  INCONSISTEN_PARAMETERS = (1<<11) , MATCH_MASK = EMPTY_BINDING_LIST | PARAMETER_VALID | PARAMETER_NOT_REQUIRED | PARAMETER_BOUND | PARAMETER_HAS_BOUND_PATH | FORMATS_MATCH | NEED_DEVICE_TRANSFORM , NO_MATCH_MASK = MISSING_BINDING | BINDING_LACKS_TYPE | FORMATS_MISSMATCH | EXTRA_BINDING | INCONSISTEN_PARAMETERS
}
 Used for tracing mismatched parameter bindings. More...
 
enum  ProfilingMode { PROFILING_NONE , PROFILING_FAST , PROFILING_FULL }
 
- Public Types inherited from agx::Component
typedef Event2< Component *, Object * > ObjectEvent
 Event when adding removing child objects.
 
typedef Callback1< Object * > TraverseCallback
 
- Public Types inherited from agx::Object
typedef agx::observer_ptr< const Event > EventConstObserver
 
typedef agx::ref_ptr< const Event > EventConstRef
 
typedef agx::observer_ptr< Event > EventObserver
 
typedef agx::Vector< EventObserver > EventObserverVector
 
typedef agx::VectorPOD< Event * > EventPtrVector
 
typedef agx::ref_ptr< Event > EventRef
 
typedef agx::Vector< EventRef > EventRefVector
 
- Public Attributes inherited from agx::Task
ParameterEvent addParameterEvent
 Triggered when a parameter is added.
 
ExecutionEvent completionEvent
 Triggered after the task has completed.
 
agxData::Val< Bool > enableParameter
 Enable/disable the task, normally use setEnable/isEnabled instead.
 
ParameterEvent removeParameterEvent
 Triggered when a parameter is removed.
 
ExecutionEvent startEvent
 Triggered before the task begins.
 
- Public Attributes inherited from agx::Component
ObjectEvent addObjectEvent
 
ObjectEvent removeObjectEvent
 
- Static Protected Member Functions inherited from agx::Task
static void addConnection (Task *parent, Task *child)
 
static bool hasUnhandledException ()
 
static void removeConnection (Task *parent, Task *child)
 
static void signalUnhandledException ()
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 

Detailed Description

Definition at line 346 of file OpenGL.h.

Constructor & Destructor Documentation

◆ Kernel() [1/2]

agxGL::Kernel::Kernel ( const agx::Name &  name)

◆ Kernel() [2/2]

agxGL::Kernel::Kernel ( const agx::Name &  name,
agx::Device *  device,
const agx::String &  shaderSourcePath,
const agx::String &  buildFlags 
)

◆ ~Kernel()

virtual agxGL::Kernel::~Kernel ( )
protectedvirtual

Reimplemented from agx::Kernel.

Member Function Documentation

◆ addAttribute()

void agxGL::Kernel::addAttribute ( agx::TiXmlElement *  eAttribute)
protected

◆ addSharedAttribute()

void agxGL::Kernel::addSharedAttribute ( agx::TiXmlElement *  eAttribute)
protected

◆ addState()

virtual void agxGL::Kernel::addState ( State *  state)
virtual

◆ addUniform()

void agxGL::Kernel::addUniform ( agx::TiXmlElement *  eUniform)
protected

◆ build()

void agxGL::Kernel::build ( agx::Device *  device)

◆ configure()

virtual void agxGL::Kernel::configure ( agx::TiXmlElement *  eKernel)
overridevirtual

◆ deallocateVao()

bool agxGL::Kernel::deallocateVao ( )
protected

◆ dispatch()

void agxGL::Kernel::dispatch ( )

◆ generateVao()

bool agxGL::Kernel::generateVao ( )
protected

◆ getShaderProgram()

GLuint agxGL::Kernel::getShaderProgram ( )

◆ load()

static Kernel * agxGL::Kernel::load ( agx::TiXmlElement *  eKernel,
agx::Device *  device 
)
static

◆ locateAttributes()

void agxGL::Kernel::locateAttributes ( )
protected

◆ locateUniforms()

void agxGL::Kernel::locateUniforms ( )
protected

◆ parsePrimitive()

void agxGL::Kernel::parsePrimitive ( agx::TiXmlElement *  eKernel)
protected

◆ parseState()

void agxGL::Kernel::parseState ( agx::TiXmlElement *  eKernel)
protected

◆ updateAttributes()

void agxGL::Kernel::updateAttributes ( )
protected

◆ updateUniforms()

void agxGL::Kernel::updateUniforms ( )
protected

◆ voidDispatch()

void agxGL::Kernel::voidDispatch ( )

Member Data Documentation

◆ m_attributes

agx::Vector<ShaderVariable> agxGL::Kernel::m_attributes
protected

Definition at line 407 of file OpenGL.h.

◆ m_buildFlags

agx::String agxGL::Kernel::m_buildFlags
protected

Definition at line 381 of file OpenGL.h.

◆ m_fragmentShader

FragmentShader agxGL::Kernel::m_fragmentShader
protected

Definition at line 380 of file OpenGL.h.

◆ m_geometryShader

GeometryShader agxGL::Kernel::m_geometryShader
protected

Definition at line 378 of file OpenGL.h.

◆ m_indexArgument

agx::ArrayParameterRef agxGL::Kernel::m_indexArgument
protected

Definition at line 408 of file OpenGL.h.

◆ m_multiDraw

bool agxGL::Kernel::m_multiDraw
protected

Definition at line 411 of file OpenGL.h.

◆ m_multiDrawCountArgument

agx::ArrayParameterRef agxGL::Kernel::m_multiDrawCountArgument
protected

Definition at line 409 of file OpenGL.h.

◆ m_multiDrawFirstArgument

agx::ArrayParameterRef agxGL::Kernel::m_multiDrawFirstArgument
protected

Definition at line 410 of file OpenGL.h.

◆ m_numElements

GLsizei agxGL::Kernel::m_numElements
protected

Definition at line 385 of file OpenGL.h.

◆ m_numInstances

agx::ScalarParameterRef agxGL::Kernel::m_numInstances
protected

Definition at line 412 of file OpenGL.h.

◆ m_numVerticesPerPrimitive

GLsizei agxGL::Kernel::m_numVerticesPerPrimitive
protected

Definition at line 384 of file OpenGL.h.

◆ m_primitive

GLenum agxGL::Kernel::m_primitive
protected

Definition at line 386 of file OpenGL.h.

◆ m_program

GLuint agxGL::Kernel::m_program
protected

Definition at line 382 of file OpenGL.h.

◆ m_sourcePath

agx::String agxGL::Kernel::m_sourcePath
protected

Definition at line 377 of file OpenGL.h.

◆ m_states

agx::Vector<StateRef> agxGL::Kernel::m_states
protected

Definition at line 387 of file OpenGL.h.

◆ m_uniforms

agx::Vector<ShaderVariable> agxGL::Kernel::m_uniforms
protected

Definition at line 406 of file OpenGL.h.

◆ m_vao

GLuint agxGL::Kernel::m_vao
protected

Definition at line 389 of file OpenGL.h.

◆ m_vertexShader

VertexShader agxGL::Kernel::m_vertexShader
protected

Definition at line 379 of file OpenGL.h.


The documentation for this class was generated from the following file: