VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Dt3dLinesCameraRenderer.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 Dt3dLinesStagingBuffer;
23  class DtBufferObject;
24  class DtGlBuffer;
25  class DtGlProgram;
27 
30 
32  template <>
33  inline const char* creatorTypeName<Dt3dLinesCameraRenderer>(void) { return "Dt3dLinesCameraRendererCreator"; }
34 
47  {
49 
50  public:
51 
52  virtual ~Dt3dLinesCameraRenderer();
53 
55  Dt3dLinesCameraRenderer() = delete;
56 
59  const Dt3dLinesCameraRenderer &other) = delete;
60 
62  Dt3dLinesCameraRenderer &operator=(
63  const Dt3dLinesCameraRenderer &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<Dt3dLinesStagingBuffer*>& lineBuffers,
77  float hdrOutputScale);
78 
79  protected:
80 
84 
86  virtual bool initializeShaders();
87 
88  protected:
89 
91 
93  struct FloatBuffer
94  {
95  float* myData = nullptr;
96  size_t mySize = 0;
97  };
98 
100 
103 
104  bool myEnabled;
105 
110  };
111 }
DtGlProgram * myGlProgram
Definition: Dt3dLinesCameraRenderer.h:106
A class the wraps a OpenGL Array Buffer object.
Definition: DtBufferObject.h:17
const char * creatorTypeName< Dt3dLinesCameraRenderer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: Dt3dLinesCameraRenderer.h:33
int myUnfmLocProjectionMatrix
Definition: Dt3dLinesCameraRenderer.h:108
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
int myUnfmLocHdrOutputScale
Definition: Dt3dLinesCameraRenderer.h:109
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
bool myEnabled
Definition: Dt3dLinesCameraRenderer.h:104
size_t myPointCountMax
Definition: Dt3dLinesCameraRenderer.h:101
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
DtDe & myDe
Definition: Dt3dLinesCameraRenderer.h:90
int myUnfmLocViewMatrix
Definition: Dt3dLinesCameraRenderer.h:107
A class responsible for rendering height lines for a camera context.
Definition: Dt3dLinesCameraRenderer.h:46
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
DtVirtualBaseClassCreator< Dt3dLinesCameraRenderer > Dt3dLinesCameraRendererCreator
creator
Definition: Dt3dLinesCameraRenderer.h:26
A structure for an array of floats.
Definition: Dt3dLinesCameraRenderer.h:93
friend Dt3dLinesCameraRendererCreator
Definition: Dt3dLinesCameraRenderer.h:48
FloatBuffer myDynamicBuffer
Definition: Dt3dLinesCameraRenderer.h:102
DtBufferObject * myBufferObject
Definition: Dt3dLinesCameraRenderer.h:99

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)