VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Dt3dSpheresCameraRenderer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 
16 #include <matrix/vlMath.h>
17 #include <matrix/vlVector.h>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class Dt3dSpheresStagingBuffer;
23  class DtBufferObject;
24  class DtGlBuffer;
25  class DtGlProgram;
27 
30 
32  template <>
33  inline const char* creatorTypeName<Dt3dSpheresCameraRenderer>(void) { return "Dt3dSpheresCameraRendererCreator"; }
34 
47  {
49 
50  public:
51 
52  virtual ~Dt3dSpheresCameraRenderer();
53 
55  Dt3dSpheresCameraRenderer() = delete;
56 
59  const Dt3dSpheresCameraRenderer &other) = delete;
60 
62  Dt3dSpheresCameraRenderer &operator=(
63  const Dt3dSpheresCameraRenderer &other) = delete;
64 
65  public:
66 
68  virtual void releaseResources();
69 
71  virtual void reloadShaders();
72 
74  void draw(const DtVector& cameraPos,
75  const float* viewMat, const float* projMat,
76  const std::vector<Dt3dSpheresStagingBuffer*>& sphereBuffers,
77  float hdrOutputScale);
78 
79  protected:
80 
84 
86  virtual bool initializeShaders();
87 
89  virtual void initializeUnitSphere();
90 
91  protected:
92 
94 
96  struct FloatBuffer
97  {
98  float* myData = nullptr;
99  size_t mySize = 0;
100  };
101 
105 
108 
109  bool myEnabled;
110 
115  };
116 }
const char * creatorTypeName< Dt3dSpheresCameraRenderer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: Dt3dSpheresCameraRenderer.h:33
DtBufferObject * myBufferObject
Definition: Dt3dSpheresCameraRenderer.h:104
A class the wraps a OpenGL Array Buffer object.
Definition: DtBufferObject.h:17
A structure for an array of floats.
Definition: Dt3dSpheresCameraRenderer.h:96
FloatBuffer myDynamicBuffer
Definition: Dt3dSpheresCameraRenderer.h:107
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
A class responsible for rendering spheres for a camera context.
Definition: Dt3dSpheresCameraRenderer.h:46
size_t myUnitSpherePointCount
Definition: Dt3dSpheresCameraRenderer.h:103
friend Dt3dSpheresCameraRendererCreator
Definition: Dt3dSpheresCameraRenderer.h:48
DtBufferObject * myUnitSphereBufferObject
Definition: Dt3dSpheresCameraRenderer.h:102
bool myEnabled
Definition: Dt3dSpheresCameraRenderer.h:109
int myUnfmLocProjectionMatrix
Definition: Dt3dSpheresCameraRenderer.h:113
DtDe & myDe
Definition: Dt3dSpheresCameraRenderer.h:93
DtVirtualBaseClassCreator< Dt3dSpheresCameraRenderer > Dt3dSpheresCameraRendererCreator
creator
Definition: Dt3dSpheresCameraRenderer.h:26
int myUnfmLocViewMatrix
Definition: Dt3dSpheresCameraRenderer.h:112
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:76
int myUnfmLocHdrOutputScale
Definition: Dt3dSpheresCameraRenderer.h:114
DtGlProgram * myGlProgram
Definition: Dt3dSpheresCameraRenderer.h:111
size_t mySphereCountMax
Definition: Dt3dSpheresCameraRenderer.h:106

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)