HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
GR_PointVK.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* NAME: GR_PointVK ( GR Library, C++)
7
*
8
* COMMENTS:
9
* Simple point renderer. Cd, alpha and pscale are supported.
10
*/
11
#ifndef GR_PointVK_h
12
#define GR_PointVK_h
13
14
#include "
GR_API.h
"
15
#include "
GR_GeoRenderVK.h
"
16
#include <
RE/RE_ShaderHandle.h
>
17
18
#include <
RV/RV_Geometry.h
>
19
20
class
RV_Geometry
;
21
class
RV_Render
;
22
class
RV_ShaderVariableSet
;
23
class
RV_ShaderBlock
;
24
25
class
GR_API
GR_PointVK
:
public
GR_GeoRenderVK
26
{
27
public
:
28
GR_PointVK
(
GR_Primitive
*prim);
29
~
GR_PointVK
()
override
;
30
31
const
char
*
className
()
const override
{
return
"GR_PointVK"
; }
32
33
void
update
(
RE_RenderContext
rc,
34
const
GT_PrimitiveHandle
&primh,
35
const
GR_UpdateParms
&parms,
36
const
char
*
cache_name
)
override
;
37
38
void
draw
(
RE_RenderContext
rc,
39
GR_RenderMode
mode
,
40
GR_RenderFlags
flags
,
41
GR_DrawParms
dp)
override
;
42
43
exint
getNumGLPrimitives
()
const override
;
44
bool
hasTransparency
()
const override
{
return
myHasAlpha; }
45
46
static
bool
initShaders(
RV_Instance
* inst);
47
static
void
cleanupShaders();
48
private
:
49
void
updatePointAttribs(
RV_Render
*rv,
50
GR_FillAttributesVK
*attrib_fill,
51
const
GT_PrimitiveHandle
&primh,
52
const
GR_UpdateParms
&parms);
53
54
void
drawPrivate(
RV_Render
*rv,
55
GR_Uniforms* u,
56
GR_RenderMode
mode
,
57
GR_RenderFlags
flags
,
58
GR_DrawParms
dp);
59
60
void
drawUtility(
RV_Render
*rv,
61
GR_Uniforms* u,
62
GR_RenderMode
mode
,
63
GR_RenderFlags
flags
,
64
GR_DrawParms
dp);
65
66
static
RV_ShaderProgram
*thePointShader;
67
static
RV_ShaderProgram
*thePixelShader;
68
static
RV_ShaderProgram
*theMatteShader;
69
static
RV_ShaderProgram
*theDepthShader;
70
static
RV_ShaderProgram
*theDepthLinearShader;
71
static
RV_ShaderProgram
*theDepthCubePointShader;
72
static
RV_ShaderProgram
*theDepthCascadePointShader;
73
74
bool
myHasCdAttrib;
75
bool
myHasAlphaAttrib;
76
bool
myHasAlpha;
77
bool
myObjectSelected;
78
};
79
80
#endif
RV_ShaderVariableSet
A collection of Vulkan UBO, SSBO, and Image shader bindings (descriptor set)
Definition:
RV_ShaderVariableSet.h:49
flags
GLbitfield flags
Definition:
glcorearb.h:1596
GR_GeoRender::draw
virtual void draw(RE_RenderContext r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms draw_parms)=0
Normal drawing method. Only issue rendering commands.
GR_GeoRenderVK
Definition:
GR_GeoRenderVK.h:62
GR_PointVK::hasTransparency
bool hasTransparency() const override
returns true if this drawable renders some transparent elements
Definition:
GR_PointVK.h:44
RV_Render
Definition:
RV_Render.h:63
exint
int64 exint
Definition:
SYS_Types.h:125
GT_Names::cache_name
GT_API const UT_StringHolder cache_name
RV_Geometry
Object that represents drawable geometry. This object holds vertex, instancing and index buffers for ...
Definition:
RV_Geometry.h:164
RE_RenderContext
Temporary container for either a RV_Render and an RE_Render.
Definition:
RE_RenderContext.h:21
GR_GeoRender::getNumGLPrimitives
virtual exint getNumGLPrimitives() const =0
GR_UpdateParms
set of parameters sent to GR_Primitive::update()
Definition:
GR_UpdateParms.h:37
GR_API.h
GR_Primitive
Definition:
GR_Primitive.h:55
GR_RenderMode
GR_RenderMode
Definition:
GR_Defines.h:47
RV_Geometry.h
RE_ShaderHandle.h
GR_DrawParms
Definition:
GR_DrawParms.h:19
GR_API
#define GR_API
Definition:
GR_API.h:10
UT_IntrusivePtr< GT_Primitive >
GR_RenderFlags
GR_RenderFlags
Definition:
GR_Defines.h:85
RV_Instance
Handle to the main interface of Vulkan.
Definition:
RV_Instance.h:36
mode
GLenum mode
Definition:
glcorearb.h:99
RV_ShaderProgram
Definition:
RV_ShaderProgram.h:253
GR_GeoRenderVK.h
GR_PointVK::className
const char * className() const override
Definition:
GR_PointVK.h:31
GR_FillAttributesVK
Definition:
GR_GeoRenderVK.h:271
GR_GeoRender::update
virtual void update(RE_RenderContext r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name)=0
GR_PointVK
Definition:
GR_PointVK.h:25
RV_ShaderBlock
Definition:
RV_ShaderBlock.h:305
GR
GR_PointVK.h
Generated on Wed May 1 2024 03:15:58 for HDK by
1.8.6