Ocean
Loading...
Searching...
No Matches
GIFactory.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#ifndef META_OCEAN_RENDERING_GI_FACTORY_H
9#define META_OCEAN_RENDERING_GI_FACTORY_H
10
12
14
15namespace Ocean
16{
17
18namespace Rendering
19{
20
21namespace GlobalIllumination
22{
23
24/**
25 * This class implements a class factory for all Global Illumination objects.<br>
26 * Only the factory is able to create any Global Illumination object.
27 * @ingroup renderinggi
28 */
29class OCEAN_RENDERING_GI_EXPORT GIFactory : public Factory
30{
31 public:
32
33 /**
34 * Creates a new attribute set object.
35 * @see Factory::createAbsoluteTransform().
36 */
38
39 /**
40 * Creates a new attribute set object.
41 * @see Factory::createAttributeSet().
42 */
43 ObjectRef createAttributeSet() const override;
44
45 /**
46 * Creates a new billboard object.
47 * @see Factory::createBillboard().
48 */
49 NodeRef createBillboard() const override;
50
51 /**
52 * Creates a new blend attribute object.
53 * @return New blend attribute
54 */
56
57 /**
58 * Creates a new box object.
59 * @see Factory::createBox().
60 */
61 ObjectRef createBox() const override;
62
63 /**
64 * Creates a new cone object.
65 * @see Factory::createCone().
66 */
67 ObjectRef createCone() const override;
68
69 /**
70 * Creates a new cylinder object.
71 * @see Factory::createCylinder().
72 */
73 ObjectRef createCylinder() const override;
74
75 /**
76 * Creates a new depth attribute object.
77 * @see Factory::createDepthAttribute().
78 */
80
81 /**
82 * Creates a new directional light object.
83 * @see Factory::createDirectionalLight().
84 */
86
87 /**
88 * Creates a new geometry object.
89 * @see Factory::createGeometry().
90 */
91 NodeRef createGeometry() const override;
92
93 /**
94 * Creates a new group object.
95 * @see Factory::createGroup().
96 */
97 NodeRef createGroup() const override;
98
99 /**
100 * Creates a new LOD object.
101 * @see Factory::createLOD().
102 */
103 NodeRef createLOD() const override;
104
105 /**
106 * Creates a new material object.
107 * @see Factory::createMaterial().
108 */
109 ObjectRef createMaterial() const override;
110
111 /**
112 * Creates a new parallel view object.
113 * @see Factory::createParallelView().
114 */
116
117 /**
118 * Creates a new perspective view object.
119 * @see Factory::createPerspectiveView().
120 */
122
123 /**
124 * Creates a new phantom attribute object.
125 * @see Factory::createPhantomAttribute().
126 */
128
129 /**
130 * Creates a new point light object.
131 * @see Factory::createPointLight().
132 */
133 ObjectRef createPointLight() const override;
134
135 /**
136 * Creates a new points object.
137 * @see Factory::createPoints().
138 */
139 ObjectRef createPoints() const override;
140
141 /**
142 * Creates a new point light object.
143 * @see Factory::createPrimitiveAttribute().
144 */
146
147 /**
148 * Creates a new quads object.
149 * @see Factory::createQuads().
150 */
151 ObjectRef createQuads() const override;
152
153 /**
154 * Creates a new quad strips object.
155 * @see Factory::createQuadStrips().
156 */
157 ObjectRef createQuadStrips() const override;
158
159 /**
160 * Creates a new scene object.
161 * @see Factory::createScene().
162 */
163 NodeRef createScene() const override;
164
165 /**
166 * Creates a new shader program cg object.
167 * @see Factory::createShaderProgram().
168 */
170
171 /**
172 * Creates a new sky background object.
173 * @see Factory::createSkyBackground().
174 */
175 NodeRef createSkyBackground() const override;
176
177 /**
178 * Creates a new sphere object.
179 * @see Factory::createSphare().
180 */
181 ObjectRef createSphere() const override;
182
183 /**
184 * Creates a new switch object.
185 * @see Factory::createSwitch().
186 */
187 NodeRef createSwitch() const override;
188
189 /**
190 * Creates a new spot light object.
191 * @see Factroy::createSpotLight().
192 */
193 ObjectRef createSpotLight() const override;
194
195 /**
196 * Creates a new stereo view object.
197 * @see Factory::createStereoView().
198 */
199 ObjectRef createStereoView() const override;
200
201 /**
202 * Creates a new texture object.
203 * @see Factory::createMediaTexture2D().
204 */
206
207 /**
208 * Creates a new texture attribute object.
209 * @see Factory::createTextures().
210 */
211 ObjectRef createTextures() const override;
212
213 /**
214 * Creates a new transform object.
215 * @see Factory::createTransform().
216 */
217 NodeRef createTransform() const override;
218
219 /**
220 * Creates a new triangle fans object.
221 * @see Factory::createTriangleFans().
222 */
224
225 /**
226 * Creates a new triangles object.
227 * @see Factory::createTriangles().
228 */
229 ObjectRef createTriangles() const override;
230
231 /**
232 * Creates a new triangle strips object.
233 * @see Factory::createTriangleStrips().
234 */
236
237 /**
238 * Creates a new undistorted background object.
239 * @see Factory::createUndistortedBackground().
240 */
242
243 /**
244 * Creates a new vertex set object.
245 * @see Factory::createVertexSet().
246 */
247 ObjectRef createVertexSet() const override;
248};
249
250}
251
252}
253
254}
255
256#endif // META_OCEAN_RENDERING_GI_FACTORY_H
This class implements a node and object factory.
Definition rendering/Factory.h:30
This class implements a class factory for all Global Illumination objects.
Definition GIFactory.h:30
ObjectRef createTriangleStrips() const override
Creates a new triangle strips object.
ObjectRef createDirectionalLight() const override
Creates a new directional light object.
ObjectRef createTextures() const override
Creates a new texture attribute object.
ObjectRef createPoints() const override
Creates a new points object.
NodeRef createSkyBackground() const override
Creates a new sky background object.
ObjectRef createParallelView() const override
Creates a new parallel view object.
NodeRef createScene() const override
Creates a new scene object.
ObjectRef createVertexSet() const override
Creates a new vertex set object.
ObjectRef createCone() const override
Creates a new cone object.
ObjectRef createQuadStrips() const override
Creates a new quad strips object.
ObjectRef createBlendAttribute() const override
Creates a new blend attribute object.
ObjectRef createCylinder() const override
Creates a new cylinder object.
ObjectRef createPhantomAttribute() const override
Creates a new phantom attribute object.
ObjectRef createQuads() const override
Creates a new quads object.
ObjectRef createPerspectiveView() const override
Creates a new perspective view object.
ObjectRef createSpotLight() const override
Creates a new spot light object.
ObjectRef createDepthAttribute() const override
Creates a new depth attribute object.
ObjectRef createAttributeSet() const override
Creates a new attribute set object.
ObjectRef createTriangleFans() const override
Creates a new triangle fans object.
ObjectRef createSphere() const override
Creates a new sphere object.
NodeRef createBillboard() const override
Creates a new billboard object.
ObjectRef createMediaTexture2D() const override
Creates a new texture object.
NodeRef createSwitch() const override
Creates a new switch object.
NodeRef createGroup() const override
Creates a new group object.
ObjectRef createStereoView() const override
Creates a new stereo view object.
ObjectRef createTriangles() const override
Creates a new triangles object.
NodeRef createUndistortedBackground() const override
Creates a new undistorted background object.
ObjectRef createAbsoluteTransform() const override
Creates a new attribute set object.
ObjectRef createPointLight() const override
Creates a new point light object.
ObjectRef createShaderProgram() const override
Creates a new shader program cg object.
NodeRef createGeometry() const override
Creates a new geometry object.
ObjectRef createPrimitiveAttribute() const override
Creates a new point light object.
ObjectRef createMaterial() const override
Creates a new material object.
ObjectRef createBox() const override
Creates a new box object.
NodeRef createTransform() const override
Creates a new transform object.
NodeRef createLOD() const override
Creates a new LOD object.
The namespace covering the entire Ocean framework.
Definition Accessor.h:15