Newton Dynamics
4.00
ndCudaSceneInfo.h
1
/* Copyright (c) <2003-2021> <Julio Jerez, Newton Game Dynamics>
2
*
3
* This software is provided 'as-is', without any express or implied
4
* warranty. In no event will the authors be held liable for any damages
5
* arising from the use of this software.
6
*
7
* Permission is granted to anyone to use this software for any purpose,
8
* including commercial applications, and to alter it and redistribute it
9
* freely, subject to the following restrictions:
10
*
11
* 1. The origin of this software must not be misrepresented; you must not
12
* claim that you wrote the original software. If you use this software
13
* in a product, an acknowledgment in the product documentation would be
14
* appreciated but is not required.
15
*
16
* 2. Altered source versions must be plainly marked as such, and must not be
17
* misrepresented as being the original software.
18
*
19
* 3. This notice may not be removed or altered from any source distribution.
20
*/
21
22
#ifndef __ND_CUDA_SCENE_INFO_H__
23
#define __ND_CUDA_SCENE_INFO_H__
24
25
#include <cuda.h>
26
#include <vector_types.h>
27
#include <cuda_runtime.h>
28
#include "ndCudaTypes.h"
29
30
31
class
ndCudaSceneInfo
32
{
33
public
:
34
ndCudaSceneInfo
()
35
:m_worldBox()
36
,m_histogram()
37
,m_bodyArray()
38
,m_sceneGraph()
39
,m_bodyAabbCell()
40
,m_bodyAabbCellScratch()
41
,m_transformBuffer0()
42
,m_transformBuffer1()
43
,m_frameCount(0)
44
,m_frameIsValid(0)
45
,m_startFrameTime(0)
46
,m_frameTimeInNanosecunds(0)
47
{
48
}
49
50
ndCudaBoundingBox
m_worldBox;
51
ndCudaBuffer<unsigned>
m_histogram;
52
ndCudaBuffer<ndCudaBodyProxy>
m_bodyArray;
53
ndCudaBuffer<ndCudaSceneNode>
m_sceneGraph;
54
ndCudaBuffer<ndCudaBodyAabbCell>
m_bodyAabbCell;
55
ndCudaBuffer<ndCudaBodyAabbCell>
m_bodyAabbCellScratch;
56
ndCudaBuffer<ndCudaSpatialVector>
m_transformBuffer0;
57
ndCudaBuffer<ndCudaSpatialVector>
m_transformBuffer1;
58
59
unsigned
m_frameCount;
60
unsigned
m_frameIsValid;
61
long
long
m_startFrameTime;
62
long
long
m_frameTimeInNanosecunds;
63
};
64
65
inline
void
__device__ cuInvalidateFrame(
ndCudaSceneInfo
& info,
const
char
* functionName,
unsigned
lineNumber)
66
{
67
//cudaDeviceSynchronize();
68
info.m_frameIsValid = 0;
69
printf(
"skipping frame %d function %s line %d\n"
, info.m_frameCount, functionName, lineNumber);
70
}
71
72
73
#endif
ndCudaSceneInfo
Definition:
ndCudaSceneInfo.h:32
ndCudaBuffer< unsigned >
ndCudaBoundingBox
Definition:
ndCudaTypes.h:33
newton-dynamics
newton-4.00
sdk
dNewton
dExtensions
dCuda
dContext
ndCudaSceneInfo.h
Generated by
1.8.20