-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcommonStructs.h
More file actions
59 lines (51 loc) · 1.79 KB
/
commonStructs.h
File metadata and controls
59 lines (51 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved.
*
* NVIDIA Corporation and its licensors retain all intellectual property and proprietary
* rights in and to this software, related documentation and any modifications thereto.
* Any use, reproduction, disclosure or distribution of this software and related
* documentation without an express license agreement from NVIDIA Corporation is strictly
* prohibited.
*
* TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS*
* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY
* SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT
* LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
* BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
* INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGES
*/
#pragma once
#include <optixu/optixu_vector_types.h>
typedef struct struct_BasicLight
{
#if defined(__cplusplus)
typedef optix::float3 float3;
#endif
float3 pos;
float3 color;
int casts_shadow;
int padding; // make this structure 32 bytes -- powers of two are your friend!
} BasicLight;
struct TriangleLight
{
#if defined(__cplusplus)
typedef optix::float3 float3;
#endif
float3 v1, v2, v3;
float3 normal;
float3 emission;
};
struct DirectionalLight
{
#if defined(__cplusplus)
typedef optix::float3 float3;
#endif
float3 direction;
// Basis vectors for sampling cone about direction
float3 v1;
float3 v2;
float3 color;
};