Ocean
Loading...
Searching...
No Matches
scenedescription/sdx/x3d/ShaderProgram.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_SCENEDESCRIPTION_SDX_X3D_SHADER_PROGRAM_H
9#define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_SHADER_PROGRAM_H
10
15
16namespace Ocean
17{
18
19namespace SceneDescription
20{
21
22namespace SDX
23{
24
25namespace X3D
26{
27
28/**
29 * This class implements a x3d shader program node.
30 * @ingroup scenedescriptionsdxx3d
31 */
32class OCEAN_SCENEDESCRIPTION_SDX_X3D_EXPORT ShaderProgram :
33 virtual public X3DNode,
34 virtual public X3DUrlObject,
35 virtual public X3DProgrammableShaderObject
36{
37 public:
38
39 /**
40 * Creates a new shader program node.
41 * @param environment Node environment
42 */
43 explicit ShaderProgram(const SDXEnvironment* environment);
44
45 protected:
46
47 /**
48 * Specifies the node type and the fields of this node.
49 * @return Unique node specification of this node
50 */
52
53 /**
54 * Returns the address of the most derived object.
55 * @see Node::objectAddress().
56 */
57 size_t objectAddress() const override;
58
59 protected:
60
61 /// Type field.
63};
64
65}
66
67}
68
69}
70
71}
72
73#endif // META_OCEAN_SCENEDESCRIPTION_SDX_X3D_SHADER_PROGRAM_H
This class implements a node specification object.
Definition scenedescription/Node.h:77
This class implements a x3d shader program node.
Definition scenedescription/sdx/x3d/ShaderProgram.h:36
NodeSpecification specifyNode()
Specifies the node type and the fields of this node.
ShaderProgram(const SDXEnvironment *environment)
Creates a new shader program node.
SingleString type_
Type field.
Definition scenedescription/sdx/x3d/ShaderProgram.h:62
size_t objectAddress() const override
Returns the address of the most derived object.
This class implements an abstract x3d node.
Definition X3DNode.h:48
This class implements an abstract x3d programmable shader object.
Definition X3DProgrammableShaderObject.h:32
This class implements an abstract x3d url object.
Definition X3DUrlObject.h:35
This class implements a node environment container.
Definition SDXNode.h:62
The namespace covering the entire Ocean framework.
Definition Accessor.h:15