VR-Forces Developer's Guide
Home
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrvOsg
DtIndirectDrawComponent.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2022 VT-MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#pragma once
11
12
#include <
vrvOsg/vrvOsg.h
>
13
14
#include <osg/StateSet>
15
#include <osg/Uniform>
16
17
#include <string>
18
19
namespace
osg
20
{
21
class
RenderInfo;
22
}
23
24
namespace
makVrv
25
{
26
class
DtDe;
27
class
DtGlBuffer;
28
class
DtIndirectShaderConstants;
29
class
DtIndirectShaderManager;
30
33
class
DT_DLL_VRVOSG
DtIndirectDrawComponent
34
{
35
public
:
37
DtIndirectDrawComponent
(
DtDe
& de);
38
40
virtual
~
DtIndirectDrawComponent
();
41
private
:
43
DtIndirectDrawComponent
() =
delete
;
44
46
DtIndirectDrawComponent
(
const
DtIndirectDrawComponent
& rhs) =
delete
;
47
49
DtIndirectDrawComponent
&operator=(
const
DtIndirectDrawComponent
& rhs) =
delete
;
50
51
public
:
53
virtual
void
update(osg::RenderInfo& renderInfo);
54
56
virtual
void
apply(osg::RenderInfo& renderInfo) = 0;
57
59
virtual
void
draw(osg::RenderInfo& renderInfo,
const
int
offsetCommandBuffer,
GLenum
indicesType,
int
maxCommands
60
,
DtGlBuffer
* gpuShaderUbo,
int
gpuShaderBinding,
DtIndirectShaderConstants
* shaderConstants);
61
63
virtual
void
releaseGLObjects(osg::State* state);
64
66
virtual
bool
shouldDraw(
bool
isShadowPass);
67
68
protected
:
70
virtual
std::string indicesTypeToString(
int
indicesType);
71
72
protected
:
73
DtDe
&
myDe
;
74
75
osg::ref_ptr<osg::StateSet>
myStateSet
;
76
77
DtIndirectShaderManager
&
myIndirectShaderManager
;
78
};
79
}
makVrv::DtIndirectShaderManager
This manages the draw components (shader vp wrappers) for combinations of DtIndirectEffectTexturesTem...
Definition:
DtIndirectShaderManager.h:50
DT_DLL_VRVOSG
#define DT_DLL_VRVOSG
Definition:
vrvOsg.h:23
osg::ref_ptr< osg::StateSet >
makVrv::DtIndirectDrawComponent::myDe
DtDe & myDe
Definition:
DtIndirectDrawComponent.h:73
makVrv::DtIndirectDrawComponent::myIndirectShaderManager
DtIndirectShaderManager & myIndirectShaderManager
Definition:
DtIndirectDrawComponent.h:77
makVrv::DtGlBuffer
A generic OpenGL buffer. This can be: -> a vertex buffer -> an index buffer -> a shader storage buffe...
Definition:
DtGlBuffer.h:29
GLenum
unsigned int GLenum
Definition:
DtGlTextureBufferObject.h:19
vrvOsg.h
Contains DLL export macros.
makVrv::DtIndirectDrawComponent
Interface class to manage/configure drawing of a subset of rendering components within an indirect ge...
Definition:
DtIndirectDrawComponent.h:33
makVrv::DtDe
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition:
DtDe.h:72
makVrv::DtIndirectShaderConstants
Definition:
DtIndirectShaderConstants.h:42
makVrv::DtIndirectDrawComponent::myStateSet
osg::ref_ptr< osg::StateSet > myStateSet
Definition:
DtIndirectDrawComponent.h:75
Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (
www.mak.com
)