DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

RenderEngine.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS,WARRANTIES,EXPRESSED,IMPLIED,STATUTORY,OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS,AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY,OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2017-2021 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use,reproduction,disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
46 #ifndef DWVISUALIZATION_RENDERENGINE_H_
47 #define DWVISUALIZATION_RENDERENGINE_H_
48 
49 #include "Renderer.h"
50 
52 
53 #ifdef __cplusplus
54 extern "C" {
55 #endif
56 
58 typedef struct dwRenderEngineObject* dwRenderEngineHandle_t;
60 typedef const struct dwRenderEngineObject* dwConstRenderEngineHandle_t;
61 
63 typedef enum {
74 
76 const uint32_t DW_RENDER_ENGINE_MAX_TILE_COUNT = 55;
77 
81 typedef enum {
127 
130 
133 typedef enum {
141 
143 #define DW_RENDER_ENGINE_MAX_PLOTS2D 20
144 
147 
148 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_RED = {230.0f / 255.0f, 72.0f / 255.0f, 32.0f / 255.0f, 1.0f};
149 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKRED = {180.0f / 255.0f, 5.0f / 255.0f, 0.0f / 255.0f, 1.0f};
150 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_PURPLE = {255.0f / 255.0f, 0.0f / 255.0f, 240.0f / 255.0f, 1.0f};
151 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_BLUE = {32.0f / 255.0f, 72.0f / 255.0f, 230.0f / 255.0f, 1.0f};
152 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_GREEN = {32.0f / 255.0f, 230.0f / 255.0f, 32.0f / 255.0f, 1.0f};
153 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_WHITE = {255.0f / 255.0f, 255.0f / 255.0f, 255.0f / 255.0f, 1.0f};
154 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKGREEN = {45.0f / 255.0f, 100.0f / 255.0f, 44.0f / 255.0f, 1.0f};
155 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_LIGHTGREEN = {118.0f / 255.0f, 185.0f / 255.0f, 0.0f / 255.0f, 1.0f};
156 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_LIGHTGREY = {185.0f / 255.0f, 185.0f / 255.0f, 185.0f / 255.0f, 1.0f};
157 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKGREY = {72.0f / 255.0f, 72.0f / 255.0f, 72.0f / 255.0f, 1.0f};
158 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKBLUE = {45.0f / 255.0f, 44.0f / 255.0f, 100.0f / 255.0f, 0.6f};
159 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_YELLOW = {230.0f / 255.0f, 230.0f / 255.0f, 10.0f / 255.0f, 1.0f};
160 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_ORANGE = {230.0f / 255.0f, 100.0f / 255.0f, 10.0f / 255.0f, 1.0f};
161 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_LIGHTBLUE = {51.0f / 255.0f, 153.0f / 255.0f, 255.0f / 255.0f, 0.6f};
162 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_BLACK = {0.0f / 255.0f, 0.0f / 255.0f, 0.0f / 255.0f, 1.0f};
163 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_PINK = {1.0f, 113.0f / 255.0f, 181.0f / 255.0f, 1.0f};
164 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_CYAN = {0.0f, 1.0f, 1.0f, 1.0f};
165 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKBROWN = {101.0f / 255.0f, 67.0f / 255.0f, 33.0f / 255.0f, 1.0f};
166 static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKPURPLE = {70.0f / 255.0f, 39.0f / 255.0f, 89.0f / 255.0f, 1.0f};
167 
170 typedef enum {
199 
202 typedef enum {
214 
217 typedef enum {
277 
280 {
282  dwRenderEngineTileLayoutType sizeLayout;
284  dwRenderEngineTileLayoutType positionLayout;
287  dwRenderEngineTilePositionType positionType;
295 
298 {
306  dwRenderEngineColorRGBA backgroundColor;
308  dwRenderEngineColorRGBA color;
310  dwRenderEngineColorByValueMode colorByValueMode;
316  dwRenderEngineFont font;
320 
322 typedef struct dwRenderEngineParams
323 {
339  uint32_t bufferSize;
346  uint32_t maxBufferCount;
348 
360  uint32_t width, uint32_t height);
361 
373 dwStatus dwRenderEngine_initialize(dwRenderEngineHandle_t* engine,
374  const dwRenderEngineParams* params,
376 
386 dwStatus dwRenderEngine_release(dwRenderEngineHandle_t engine);
387 
398 dwStatus dwRenderEngine_reset(dwRenderEngineHandle_t engine);
399 
410 dwStatus dwRenderEngine_resetTile(dwRenderEngineHandle_t engine);
411 
425 dwStatus dwRenderEngine_addTile(uint32_t* tileId,
426  const dwRenderEngineTileState* params,
427  dwRenderEngineHandle_t engine);
428 
438 
449 dwStatus dwRenderEngine_removeTile(uint32_t tileId,
450  dwRenderEngineHandle_t engine);
451 
470 dwStatus dwRenderEngine_addSplitScreenTiles(uint32_t* firstTileId,
471  uint32_t* secondTileId,
472  bool horizontal,
473  const dwRenderEngineTileState* firstParams,
474  const dwRenderEngineTileState* secondParams,
475  dwRenderEngineHandle_t engine);
476 
493 dwStatus dwRenderEngine_addTilesByCount(uint32_t* outTileIds,
494  uint32_t tileCount,
495  uint32_t maxPerRow,
496  const dwRenderEngineTileState* paramsList,
497  dwRenderEngineHandle_t engine);
498 
510 dwStatus dwRenderEngine_getTile(uint32_t* tileId,
511  dwConstRenderEngineHandle_t engine);
512 
524 dwStatus dwRenderEngine_setTile(uint32_t tileId,
525  dwRenderEngineHandle_t engine);
526 
538  dwConstRenderEngineHandle_t engine);
539 
551  dwRenderEngineHandle_t engine);
552 
567  dwConstRenderEngineHandle_t engine);
568 
581 dwStatus dwRenderEngine_setModelView(const dwMatrix4f* modelViewMatrix,
582  dwRenderEngineHandle_t engine);
583 
598  dwConstRenderEngineHandle_t engine);
599 
612 dwStatus dwRenderEngine_setProjection(const dwMatrix4f* projectionMatrix,
613  dwRenderEngineHandle_t engine);
614 
628  dwVector3f center,
629  dwVector3f up,
630  dwRenderEngineHandle_t engine);
631 
655  float32_t yAngleRadians,
656  float32_t distance,
657  dwVector3f center,
658  dwVector3f up,
659  dwRenderEngineHandle_t engine);
660 
677  float32_t bottom, float32_t top,
678  float32_t near, float32_t far,
679  dwRenderEngineHandle_t engine);
680 
696  float32_t aspect,
697  float32_t near,
698  float32_t far,
699  dwRenderEngineHandle_t engine);
700 
717  dwConstRenderEngineHandle_t engine);
718 
735  dwConstRenderEngineHandle_t engine);
736 
751  dwRenderEngineHandle_t engine);
752 
766  dwRenderEngineHandle_t engine);
767 
783  dwRenderEngineHandle_t engine);
784 
795 dwStatus dwRenderEngine_getColor(dwRenderEngineColorRGBA* color,
796  dwConstRenderEngineHandle_t engine);
797 
808 dwStatus dwRenderEngine_setBackgroundColor(dwRenderEngineColorRGBA color, dwRenderEngineHandle_t engine);
809 
820 dwStatus dwRenderEngine_getBackgroundColor(dwRenderEngineColorRGBA* color,
821  dwConstRenderEngineHandle_t engine);
822 
833 dwStatus dwRenderEngine_setColor(dwRenderEngineColorRGBA color, dwRenderEngineHandle_t engine);
834 
852 dwStatus dwRenderEngine_setColorByValue(dwRenderEngineColorByValueMode mode,
853  float32_t scale,
854  dwRenderEngineHandle_t engine);
855 
866 dwStatus dwRenderEngine_getFont(dwRenderEngineFont* font,
867  dwConstRenderEngineHandle_t engine);
868 
879 dwStatus dwRenderEngine_setFont(dwRenderEngineFont font,
880  dwRenderEngineHandle_t engine);
881 
894  dwConstRenderEngineHandle_t engine);
910  dwRenderEngineHandle_t engine);
911 
924  dwConstRenderEngineHandle_t engine);
925 
937  dwRenderEngineHandle_t engine);
938 
951  dwConstRenderEngineHandle_t engine);
952 
968  dwRenderEngineHandle_t engine);
969 
982  dwConstRenderEngineHandle_t engine);
983 
995  dwRenderEngineHandle_t engine);
996 
1023 dwStatus dwRenderEngine_createBuffer(uint32_t* bufferId,
1024  dwRenderEnginePrimitiveType type,
1025  uint32_t vertexStrideBytes,
1026  uint32_t offsetBytes,
1027  uint32_t primitiveCount,
1028  dwRenderEngineHandle_t engine);
1029 
1040 dwStatus dwRenderEngine_destroyBuffer(uint32_t bufferId,
1041  dwRenderEngineHandle_t engine);
1042 
1057 dwStatus dwRenderEngine_getBufferMaxPrimitiveCount(uint32_t* maxPrimitiveCount,
1058  uint32_t bufferId,
1059  dwRenderEngineHandle_t engine);
1060 
1083 dwStatus dwRenderEngine_setBuffer(uint32_t bufferId,
1084  dwRenderEnginePrimitiveType type,
1085  const void* buffer,
1086  uint32_t vertexStrideBytes,
1087  uint32_t offsetBytes,
1088  uint32_t primitiveCount,
1089  dwRenderEngineHandle_t engine);
1090 
1106 dwStatus dwRenderEngine_mapBuffer(uint32_t bufferId,
1107  void** buffer,
1108  uint32_t offsetBytes,
1109  uint32_t sizeBytes,
1110  dwRenderEnginePrimitiveType type,
1111  dwRenderEngineHandle_t engine);
1112 
1124 dwStatus dwRenderEngine_unmapBuffer(uint32_t bufferId,
1125  dwRenderEnginePrimitiveType type,
1126  dwRenderEngineHandle_t engine);
1127 
1143 dwStatus dwRenderEngine_renderBuffer(uint32_t bufferId,
1144  uint32_t primitiveCount,
1145  dwRenderEngineHandle_t engine);
1146 
1170  dwRenderEnginePrimitiveType type,
1171  uint32_t vertexStrideBytes,
1172  uint32_t offsetBytes,
1173  const char** labels,
1174  uint32_t primitiveCount,
1175  dwRenderEngineHandle_t engine);
1176 
1203 dwStatus dwRenderEngine_render(dwRenderEnginePrimitiveType type,
1204  const void* buffer,
1205  uint32_t vertexStrideBytes,
1206  uint32_t offsetBytes,
1207  uint32_t primitiveCount,
1208  dwRenderEngineHandle_t engine);
1209 
1237 dwStatus dwRenderEngine_renderWithLabels(dwRenderEnginePrimitiveType type,
1238  const void* buffer,
1239  uint32_t vertexStrideBytes,
1240  uint32_t offsetBytes,
1241  const char* labels[],
1242  uint32_t primitiveCount,
1243  dwRenderEngineHandle_t engine);
1244 
1272 dwStatus dwRenderEngine_renderWithLabel(dwRenderEnginePrimitiveType type,
1273  const void* buffer,
1274  uint32_t vertexStrideBytes,
1275  uint32_t offsetBytes,
1276  const char* label,
1277  uint32_t primitiveCount,
1278  dwRenderEngineHandle_t engine);
1279 
1293  const char* filename,
1294  dwRenderEngineHandle_t engine);
1295 
1307  dwRenderEngineHandle_t engine);
1308 
1324  dwRectf plane,
1325  dwRenderEngineHandle_t engine);
1326 
1341  dwRectf plane,
1342  const dwMatrix4f* modelMatrix,
1343  dwRenderEngineHandle_t engine);
1344 
1359 dwStatus dwRenderEngine_renderText2D(const char* text,
1360  dwVector2f pos,
1361  dwRenderEngineHandle_t engine);
1362 
1377 dwStatus dwRenderEngine_renderText3D(const char* text,
1378  dwVector3f pos,
1379  dwRenderEngineHandle_t engine);
1395  dwRectf plane,
1396  float32_t xSpacing,
1397  float32_t ySpacing,
1398  dwRenderEngineHandle_t engine);
1399 
1414  float32_t xSpacing,
1415  float32_t ySpacing,
1416  dwRenderEngineHandle_t engine);
1417 
1436  dwRectf plane,
1437  float32_t xSpacing,
1438  float32_t ySpacing,
1439  const dwMatrix4f* modelMatrix,
1440  dwRenderEngineHandle_t engine);
1441 
1459  float32_t xSpacing,
1460  float32_t ySpacing,
1461  const dwMatrix4f* modelMatrix,
1462  dwRenderEngineHandle_t engine);
1463 
1479  dwRectf plane,
1480  float32_t xSpacing,
1481  float32_t ySpacing,
1482  dwRenderEngineHandle_t engine);
1483 
1498  float32_t xSpacing,
1499  float32_t ySpacing,
1500  dwRenderEngineHandle_t engine);
1501 
1520  dwRectf plane,
1521  float32_t xSpacing,
1522  float32_t ySpacing,
1523  const dwMatrix4f* modelMatrix,
1524  dwRenderEngineHandle_t engine);
1525 
1543  float32_t xSpacing,
1544  float32_t ySpacing,
1545  const dwMatrix4f* modelMatrix,
1546  dwRenderEngineHandle_t engine);
1547 
1580 dwStatus dwRenderEngine_renderPlot2D(dwRenderEnginePlotType type,
1581  const void* buffer,
1582  uint32_t vertexStrideBytes,
1583  uint32_t offsetBytes,
1584  uint32_t primitiveCount,
1585  const char* label,
1586  dwVector4f range,
1587  dwRectf plane,
1588  dwRenderEngineColorRGBA axesColor,
1589  float32_t axesWidth,
1590  const char* title,
1591  const char* xLabel,
1592  const char* yLabel,
1593  dwRenderEngineHandle_t engine);
1594 
1633 dwStatus dwRenderEngine_renderPlots2D(const dwRenderEnginePlotType* types,
1634  const void** buffers,
1635  const uint32_t* vertexStridesBytes,
1636  const uint32_t* offsetsBytes,
1637  const uint32_t* bufferCounts,
1638  const dwRenderEngineColorRGBA* colors,
1639  const float32_t* lineWidths,
1640  const char** labels,
1641  uint32_t plotsCount,
1642  dwVector4f range,
1643  dwRectf plane,
1644  dwRenderEngineColorRGBA axesColor,
1645  float32_t axesWidth,
1646  const char* title,
1647  const char* xLabel,
1648  const char* yLabel,
1649  dwRenderEngineHandle_t engine);
1650 
1665  dwVector2f pixelPosition,
1666  dwVector2f screenSize,
1667  dwRenderEngineHandle_t engine);
1668 
1682  dwVector3f worldPosition,
1683  dwVector2f screenSize,
1684  dwRenderEngineHandle_t engine);
1685 
1701  dwVector2f pixelPosition,
1702  dwVector2f screenSize,
1703  dwConstRenderEngineHandle_t engine);
1704 
1716 dwStatus dwRenderEngine_beginTextBatch(dwRenderEngineHandle_t engine);
1717 
1729 dwStatus dwRenderEngine_endTextBatch(dwRenderEngineHandle_t engine);
1730 #ifdef __cplusplus
1731 }
1732 #endif
1733 
1734 #endif // DW_VISUALIZATION_RENDERENGINE_H_
Render the color with the primitive interleaved This requires the data have RGBA values interleaved w...
Definition: RenderEngine.h:197
Render according to tile current color.
Definition: RenderEngine.h:172
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getCoordinateRange2D(dwVector2f *range, dwConstRenderEngineHandle_t engine)
Gets the coordinate range for 2D rendering of the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getRenderViewport(dwRectf *viewport, dwConstRenderEngineHandle_t engine)
Gets the render viewport for the current tile.
Layout the position relative to the top of the bounds.
Definition: RenderEngine.h:229
Layout the position relative to the right of the bounds.
Definition: RenderEngine.h:265
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_BLUE
Definition: RenderEngine.h:151
Layout the position relative to the bottom right of the bounds.
Definition: RenderEngine.h:253
float float32_t
Specifies POD types.
Definition: Types.h:70
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_LIGHTGREY
Definition: RenderEngine.h:156
float32_t lineWidth
The line width.
Definition: RenderEngine.h:312
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getBounds(dwRectf *bounds, dwRenderEngineHandle_t engine)
Gets the bounds for the entire render area.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_initTileState(dwRenderEngineTileState *params)
Initialize tile params to default state.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_addTile(uint32_t *tileId, const dwRenderEngineTileState *params, dwRenderEngineHandle_t engine)
Adds a render tile to the render engine.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_YELLOW
Definition: RenderEngine.h:159
Interleaved is start x,start y,end y,end x Min vertex size is 4 floats.
Definition: RenderEngine.h:123
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_createBuffer(uint32_t *bufferId, dwRenderEnginePrimitiveType type, uint32_t vertexStrideBytes, uint32_t offsetBytes, uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Creates a buffer for static drawing.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBufferPlanarGrid3D(uint32_t bufferId, dwRectf plane, float32_t xSpacing, float32_t ySpacing, const dwMatrix4f *modelMatrix, dwRenderEngineHandle_t engine)
Fills a buffer with a grid in 3D.
Interleaved is x,y,z,x,y,z Min vertex size is 3 floats.
Definition: RenderEngine.h:99
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderText3D(const char *text, dwVector3f pos, dwRenderEngineHandle_t engine)
Renders text within the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderEllipticalGrid3D(dwRectf plane, float32_t xSpacing, float32_t ySpacing, const dwMatrix4f *modelMatrix, dwRenderEngineHandle_t engine)
Renders an elliptical grid in 3D.
Defines a four-element single-precision floating point vector.
Definition: Types.h:335
Defines a three-element floating-point vector.
Definition: Types.h:319
Defines a two-element single-precision floating-point vector.
Definition: Types.h:291
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBufferPlanarGrid2D(uint32_t bufferId, dwRectf plane, float32_t xSpacing, float32_t ySpacing, dwRenderEngineHandle_t engine)
Fills a buffer with a grid in 2D.
dwRenderEngineColorByValueMode colorByValueMode
Color by value mode.
Definition: RenderEngine.h:310
dwMatrix4f projectionMatrix
The projection matrix for the camera.
Definition: RenderEngine.h:304
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_initialize(dwRenderEngineHandle_t *engine, const dwRenderEngineParams *params, dwVisualizationContextHandle_t context)
Initializes a render engine handle.
dwRectf viewport
The viewport for the tile.
Definition: RenderEngine.h:289
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderText2D(const char *text, dwVector2f pos, dwRenderEngineHandle_t engine)
Renders text within the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setViewport(dwRectf viewport, dwRenderEngineHandle_t engine)
Sets the user-defined viewport which is used in conjunction with the other layout parameters to compu...
dwRenderEngineFont
The font types for the render engine.
Definition: RenderEngine.h:63
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setFont(dwRenderEngineFont font, dwRenderEngineHandle_t engine)
Sets the font for text drawn in the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderWithLabel(dwRenderEnginePrimitiveType type, const void *buffer, uint32_t vertexStrideBytes, uint32_t offsetBytes, const char *label, uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Render an external buffer with one label.
struct dwRenderEngineObject * dwRenderEngineHandle_t
Handle for the render engine.
Definition: RenderEngine.h:58
NVIDIA DriveWorks GL API: Image Conversion and Streaming Functionality
Layout the position relative to the bottom of the bounds.
Definition: RenderEngine.h:247
Layout the position relative to the top right of the bounds.
Definition: RenderEngine.h:235
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderPlanarGrid2D(dwRectf plane, float32_t xSpacing, float32_t ySpacing, dwRenderEngineHandle_t engine)
Renders a grid in 2D.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_endTextBatch(dwRenderEngineHandle_t engine)
Signal the end of a series of text-drawing calls.
dwMatrix4f modelViewMatrix
The model view matrix.
Definition: RenderEngine.h:302
float32_t aspectRatio
The aspect ratio for the tile.
Definition: RenderEngine.h:291
const uint32_t DW_RENDER_ENGINE_MAX_TILE_COUNT
Maximum number of tiles that can be added.
Definition: RenderEngine.h:76
Interleaved is x,y,x,y Min vertex size is 2 floats.
Definition: RenderEngine.h:96
Render the hue by distance in z direction.
Definition: RenderEngine.h:180
Layout the position relative to the top left of the bounds.
Definition: RenderEngine.h:223
Layout the position or size in a fixed position and size.
Definition: RenderEngine.h:207
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_release(dwRenderEngineHandle_t engine)
Releases the render engine handle.
dwVector2f coordinateRange2D
The normalization factor for 2D rendering.
Definition: RenderEngine.h:318
Interleaved is x,y,z,width,height,depth,x,y,z,width,height,depth Min vertex size is 6 floats...
Definition: RenderEngine.h:111
dwRenderEngineColorRGBA backgroundColor
The background color.
Definition: RenderEngine.h:306
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setState(const dwRenderEngineTileState *state, dwRenderEngineHandle_t engine)
Set the current tile state parameters.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_PINK
Definition: RenderEngine.h:163
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setColorByValue(dwRenderEngineColorByValueMode mode, float32_t scale, dwRenderEngineHandle_t engine)
Sets the color of the primitives to be rendered based on their values.
Definition: Types.h:204
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_LIGHTBLUE
Definition: RenderEngine.h:161
The initialization parameters for a render engine.
Definition: RenderEngine.h:322
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_addTilesByCount(uint32_t *outTileIds, uint32_t tileCount, uint32_t maxPerRow, const dwRenderEngineTileState *paramsList, dwRenderEngineHandle_t engine)
Evenly add render tiles to the screen from left to right.
Interleaved is center x,y,x radius,y radius,x,y,x radius,y radius Min vertex size is 4 floats...
Definition: RenderEngine.h:117
dwRenderEnginePlotType
An enum that controls the type of plot to render when calling dwRenderEngine_renderPlot2D.
Definition: RenderEngine.h:133
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_mapBuffer(uint32_t bufferId, void **buffer, uint32_t offsetBytes, uint32_t sizeBytes, dwRenderEnginePrimitiveType type, dwRenderEngineHandle_t engine)
maps internal buffer for data operations.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getColor(dwRenderEngineColorRGBA *color, dwConstRenderEngineHandle_t engine)
Gets the current tile color.
dwRenderEngineColorRGBA color
Color of the rendering primitives in the tile.
Definition: RenderEngine.h:308
struct dwVisualizationContextObject * dwVisualizationContextHandle_t
Context handle.
Definition: Visualization.h:67
Render the hue by distance in y direction.
Definition: RenderEngine.h:178
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getProjection(dwMatrix4f *projectionMatrix, dwConstRenderEngineHandle_t engine)
Gets the projection matrix for the current tile.
Render the hue by distance in x direction.
Definition: RenderEngine.h:176
Render plot as point values. Data layout is x,y,x,y.
Definition: RenderEngine.h:135
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_addSplitScreenTiles(uint32_t *firstTileId, uint32_t *secondTileId, bool horizontal, const dwRenderEngineTileState *firstParams, const dwRenderEngineTileState *secondParams, dwRenderEngineHandle_t engine)
Adds two render tiles to the render engine that each take up half of the render area (defined by boun...
Render the hue by distance in xy directions.
Definition: RenderEngine.h:182
Layout the position relative to the left of the bounds.
Definition: RenderEngine.h:259
dwStatus
Status definition.
Definition: Status.h:180
float32_t pointSize
The point size.
Definition: RenderEngine.h:314
dwRenderEngineTilePositionType
The layout indicator for position of each tile.
Definition: RenderEngine.h:217
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_BLACK
Definition: RenderEngine.h:162
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKPURPLE
Definition: RenderEngine.h:166
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setPerspectiveProjection(float32_t fovRadsY, float32_t aspect, float32_t near, float32_t far, dwRenderEngineHandle_t engine)
Sets the projection matrix for the current tile as defined by the parameters.
Interleaved is 8 sets of (x,y,z) representing the 8 vertices of an oriented box Min vertex size is 24...
Definition: RenderEngine.h:114
Interleaved is x,y,z,x,y,z Min vertex size is 3 floats.
Definition: RenderEngine.h:105
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_reset(dwRenderEngineHandle_t engine)
Resets the state of all render tiles and clears the display.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setCoordinateRange2D(dwVector2f range, dwRenderEngineHandle_t engine)
Sets the coordinate range for 2D rendering of the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderPlot2D(dwRenderEnginePlotType type, const void *buffer, uint32_t vertexStrideBytes, uint32_t offsetBytes, uint32_t primitiveCount, const char *label, dwVector4f range, dwRectf plane, dwRenderEngineColorRGBA axesColor, float32_t axesWidth, const char *title, const char *xLabel, const char *yLabel, dwRenderEngineHandle_t engine)
Renders a plot in 2D.
dwRectf bounds
The default display bounds.
Definition: RenderEngine.h:325
Interleaved is x,y,z,x,y,z Min vertex size is 3 floats.
Definition: RenderEngine.h:93
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setColor(dwRenderEngineColorRGBA color, dwRenderEngineHandle_t engine)
Sets the foreground drawing color of the current tile.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_GREEN
Definition: RenderEngine.h:152
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getBufferMaxPrimitiveCount(uint32_t *maxPrimitiveCount, uint32_t bufferId, dwRenderEngineHandle_t engine)
Get the max renderable primitive count for a buffer.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKGREY
Definition: RenderEngine.h:157
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setLookAtByAngles(float32_t xAngleRadians, float32_t yAngleRadians, float32_t distance, dwVector3f center, dwVector3f up, dwRenderEngineHandle_t engine)
Defines the camera position on a sphere surface around a center point, with the camera looking toward...
dwRenderEngineFont font
The font.
Definition: RenderEngine.h:316
Interleaved is x,y,x,y Min vertex size is 2 floats.
Definition: RenderEngine.h:102
Interleaved is x,y,width,height,x,y,width,height Min vertex size is 4 floats.
Definition: RenderEngine.h:108
const struct dwRenderEngineObject * dwConstRenderEngineHandle_t
Const handle for the render engine.
Definition: RenderEngine.h:60
Interleaved is center x,y,z,x radius,y radius Min vertex size is 5 floats.
Definition: RenderEngine.h:120
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getBackgroundColor(dwRenderEngineColorRGBA *color, dwConstRenderEngineHandle_t engine)
Gets the current tile background color.
The tile layout for the viewport.
Definition: RenderEngine.h:279
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_RED
Definition: RenderEngine.h:148
Render plot as line strip. Data layout is x,y,x,y.
Definition: RenderEngine.h:137
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderBuffer(uint32_t bufferId, uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Render the buffer.
dwRenderEngineTilePositionType positionType
The position type that determines how the position coordinates are interpreted.
Definition: RenderEngine.h:287
Defines a 4x4 matrix of floating point numbers (column major).
Definition: Types.h:271
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getState(dwRenderEngineTileState *state, dwConstRenderEngineHandle_t engine)
Get the current tile state parameters.
The state for a render engine tile.
Definition: RenderEngine.h:297
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKBROWN
Definition: RenderEngine.h:165
Layout the position relative to the center of the bounds.
Definition: RenderEngine.h:271
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_removeTile(uint32_t tileId, dwRenderEngineHandle_t engine)
Removes a render tile from the render engine.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setProjection(const dwMatrix4f *projectionMatrix, dwRenderEngineHandle_t engine)
Sets the projection matrix for the current tile.
#define DW_VIZ_API_PUBLIC
Definition: Exports.h:49
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderImage2D(const dwImageGL *img, dwRectf plane, dwRenderEngineHandle_t engine)
Renders a 2D image within the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setOrthoProjection(float32_t left, float32_t right, float32_t bottom, float32_t top, float32_t near, float32_t far, dwRenderEngineHandle_t engine)
Sets up an orthographic projection for the current tile.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_ORANGE
Definition: RenderEngine.h:160
uint32_t maxBufferCount
Maximum static buffer count.
Definition: RenderEngine.h:346
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderBufferWithLabels(uint32_t bufferId, dwRenderEnginePrimitiveType type, uint32_t vertexStrideBytes, uint32_t offsetBytes, const char **labels, uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Render the internal buffer with labels.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getViewport(dwRectf *viewport, dwConstRenderEngineHandle_t engine)
Gets the user-defined viewport for the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBuffer(uint32_t bufferId, dwRenderEnginePrimitiveType type, const void *buffer, uint32_t vertexStrideBytes, uint32_t offsetBytes, uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Set the data for a buffer.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_WHITE
Definition: RenderEngine.h:153
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getFont(dwRenderEngineFont *font, dwConstRenderEngineHandle_t engine)
Gets the current tile font.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderWithLabels(dwRenderEnginePrimitiveType type, const void *buffer, uint32_t vertexStrideBytes, uint32_t offsetBytes, const char *labels[], uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Render an external buffer with labels.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_destroyBuffer(uint32_t bufferId, dwRenderEngineHandle_t engine)
Destroys a buffer for static drawing.
dwRenderEngineTileState defaultTile
The default tile.
Definition: RenderEngine.h:327
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getLayout(dwRenderEngineTileLayout *layout, dwConstRenderEngineHandle_t engine)
Gets the layout of the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setLineWidth(float32_t lineWidth, dwRenderEngineHandle_t engine)
Sets the line width of the current tile.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_CYAN
Definition: RenderEngine.h:164
dwRenderEngineTileLayoutType
The layout indicator for size and position of each tile.
Definition: RenderEngine.h:202
Layout the position in a grid.
Definition: RenderEngine.h:275
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBufferEllipticalGrid3D(uint32_t bufferId, dwRectf plane, float32_t xSpacing, float32_t ySpacing, const dwMatrix4f *modelMatrix, dwRenderEngineHandle_t engine)
Fills a buffer with an elliptical grid in 3D.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_render(dwRenderEnginePrimitiveType type, const void *buffer, uint32_t vertexStrideBytes, uint32_t offsetBytes, uint32_t primitiveCount, dwRenderEngineHandle_t engine)
Render an external buffer.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getTileByScreenCoordinates(uint32_t *tileId, dwVector2f pixelPosition, dwVector2f screenSize, dwConstRenderEngineHandle_t engine)
Gets the tile id that surrounds the input pixel position.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderImage3D(const dwImageGL *img, dwRectf plane, const dwMatrix4f *modelMatrix, dwRenderEngineHandle_t engine)
Renders a 2D image in 3D space within the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setLookAt(dwVector3f eye, dwVector3f center, dwVector3f up, dwRenderEngineHandle_t engine)
Sets the model view matrix for the current tile.
Render plot as histogram. Data layout is y,y,y,y.
Definition: RenderEngine.h:139
Layout the position or size relative to the bounds of the render engine.
Definition: RenderEngine.h:212
Layout the position relative to the bottom left of the bounds.
Definition: RenderEngine.h:241
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_resetTile(dwRenderEngineHandle_t engine)
Resets the state of the current tile and clears the display.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setLayout(dwRenderEngineTileLayout layout, dwRenderEngineHandle_t engine)
Sets the layout of the current tile.
dwRenderEngineTileLayout layout
The layout which includes the viewport.
Definition: RenderEngine.h:300
dwRenderEngineColorByValueMode
An enum that controls how primitive colors are rendered.
Definition: RenderEngine.h:170
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBounds(dwRectf bounds, dwRenderEngineHandle_t engine)
Sets the bounds for the entire render area.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getModelView(dwMatrix4f *modelViewMatrix, dwConstRenderEngineHandle_t engine)
Gets the model view matrix for the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setModelView(const dwMatrix4f *modelViewMatrix, dwRenderEngineHandle_t engine)
Sets the model view matrix for the current tile.
Interleaved is x,y,x,y Min vertex size is 2 floats.
Definition: RenderEngine.h:84
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_destroyImageGL(const dwImageGL *image, dwRenderEngineHandle_t engine)
Releases the memory of a dwImageGL.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKRED
Definition: RenderEngine.h:149
Interleaved is x,y,x,y Min vertex size is 2 floats.
Definition: RenderEngine.h:90
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setPointSize(float32_t pointSize, dwRenderEngineHandle_t engine)
Sets the point size of the current tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getTile(uint32_t *tileId, dwConstRenderEngineHandle_t engine)
Gets the current render tile id.
Interleaved is start x,start y,start z,end y,end x,end z Min vertex size is 6 floats.
Definition: RenderEngine.h:126
Render the hue by distance in xz directions.
Definition: RenderEngine.h:184
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderPlots2D(const dwRenderEnginePlotType *types, const void **buffers, const uint32_t *vertexStridesBytes, const uint32_t *offsetsBytes, const uint32_t *bufferCounts, const dwRenderEngineColorRGBA *colors, const float32_t *lineWidths, const char **labels, uint32_t plotsCount, dwVector4f range, dwRectf plane, dwRenderEngineColorRGBA axesColor, float32_t axesWidth, const char *title, const char *xLabel, const char *yLabel, dwRenderEngineHandle_t engine)
Renders multiple plots in one graph.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_screenToWorld3D(dwVector3f *worldPosition, dwVector2f pixelPosition, dwVector2f screenSize, dwRenderEngineHandle_t engine)
Get the world coordinate in 3D based on screen pixel input.
dwRenderEnginePrimitiveType
When rendering 2D data the coordinate system is always from 0 to 1, unless changed by calling dwRende...
Definition: RenderEngine.h:81
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_unmapBuffer(uint32_t bufferId, dwRenderEnginePrimitiveType type, dwRenderEngineHandle_t engine)
Unmaps the internal buffer.
dwVector4f dwRenderEngineColorRGBA
RGBA render color.
Definition: RenderEngine.h:146
NVIDIA DriveWorks API: Renderer
Render the hue by intensity value (Last value of primitives.
Definition: RenderEngine.h:191
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_initDefaultParams(dwRenderEngineParams *params, uint32_t width, uint32_t height)
Initialize params to default.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_beginTextBatch(dwRenderEngineHandle_t engine)
Signal the start of a series of text-drawing calls.
bool useAspectRatio
Use aspect ratio.
Definition: RenderEngine.h:293
uint32_t bufferSize
Default buffer size for rendering primitives in bytes.
Definition: RenderEngine.h:339
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getLineWidth(float32_t *lineWidth, dwConstRenderEngineHandle_t engine)
Gets the current tile line width.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBufferEllipticalGrid2D(uint32_t bufferId, dwRectf plane, float32_t xSpacing, float32_t ySpacing, dwRenderEngineHandle_t engine)
Fills a buffer with an elliptical grid in 2D.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_world3DToScreen(dwVector2f *pixelPosition, dwVector3f worldPosition, dwVector2f screenSize, dwRenderEngineHandle_t engine)
Get the screen coordinate in based on world 3D input.
Render the hue by distance to origin.
Definition: RenderEngine.h:174
Defines a GL texture image.
Definition: Image.h:60
Interleaved is x,y,z,x,y,z Min vertex size is 3 floats.
Definition: RenderEngine.h:87
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKGREEN
Definition: RenderEngine.h:154
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_createImageGLFromFile(dwImageGL *img, const char *filename, dwRenderEngineHandle_t engine)
Reads a file from disk and puts it into an dwImageGL.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_PURPLE
Definition: RenderEngine.h:150
Render the hue by distance in yz directions.
Definition: RenderEngine.h:186
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_DARKBLUE
Definition: RenderEngine.h:158
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_getPointSize(float32_t *pointSize, dwConstRenderEngineHandle_t engine)
Gets the current tile point size.
dwRenderEngineTileLayoutType sizeLayout
The layout indicator for size.
Definition: RenderEngine.h:282
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderEllipticalGrid2D(dwRectf plane, float32_t xSpacing, float32_t ySpacing, dwRenderEngineHandle_t engine)
Renders an elliptical grid in 2D.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_renderPlanarGrid3D(dwRectf plane, float32_t xSpacing, float32_t ySpacing, const dwMatrix4f *modelMatrix, dwRenderEngineHandle_t engine)
Renders a grid in 3D.
static const dwRenderEngineColorRGBA DW_RENDER_ENGINE_COLOR_LIGHTGREEN
Definition: RenderEngine.h:155
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setTile(uint32_t tileId, dwRenderEngineHandle_t engine)
Sets the state of the engine to be a particular tile.
DW_VIZ_API_PUBLIC dwStatus dwRenderEngine_setBackgroundColor(dwRenderEngineColorRGBA color, dwRenderEngineHandle_t engine)
Sets the background color of the current tile.
dwRenderEngineTileLayoutType positionLayout
The layout indicator for position.
Definition: RenderEngine.h:284