|
Revision 10076, 2.2 kB
(checked in by robert, 4 years ago)
|
|
From Neil Hughes, converted across to use istream for reading data from file to enable reading .3ds files over http (use OSG's libcurl plugin).
From Robert Osfield, ammendments of the above to better support reading of files from local directories.
|
-
Property svn:eol-style set to
native
-
Property svn:keywords set to
Author Date Id Revision
|
| Line | |
|---|
| 1 | |
|---|
| 2 | #ifndef INCLUDED_LIB3DS_LIGHT_H |
|---|
| 3 | #define INCLUDED_LIB3DS_LIGHT_H |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | |
|---|
| 8 | |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | |
|---|
| 17 | |
|---|
| 18 | |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | |
|---|
| 26 | #ifndef INCLUDED_LIB3DS_TYPES_H |
|---|
| 27 | #include "types.h" |
|---|
| 28 | #endif |
|---|
| 29 | |
|---|
| 30 | #include <iostream> |
|---|
| 31 | using namespace std; |
|---|
| 32 | |
|---|
| 33 | #ifdef __cplusplus |
|---|
| 34 | extern "C" { |
|---|
| 35 | #endif |
|---|
| 36 | |
|---|
| 37 | |
|---|
| 38 | |
|---|
| 39 | |
|---|
| 40 | |
|---|
| 41 | |
|---|
| 42 | struct _Lib3dsLight { |
|---|
| 43 | Lib3dsLight *next; |
|---|
| 44 | char name[64]; |
|---|
| 45 | Lib3dsBool spot_light; |
|---|
| 46 | Lib3dsBool see_cone; |
|---|
| 47 | Lib3dsRgb color; |
|---|
| 48 | Lib3dsVector position; |
|---|
| 49 | Lib3dsVector spot; |
|---|
| 50 | Lib3dsFloat roll; |
|---|
| 51 | Lib3dsBool off; |
|---|
| 52 | Lib3dsFloat outer_range; |
|---|
| 53 | Lib3dsFloat inner_range; |
|---|
| 54 | Lib3dsFloat multiplier; |
|---|
| 55 | |
|---|
| 56 | Lib3dsFloat attenuation; |
|---|
| 57 | Lib3dsBool rectangular_spot; |
|---|
| 58 | Lib3dsBool shadowed; |
|---|
| 59 | Lib3dsFloat shadow_bias; |
|---|
| 60 | Lib3dsFloat shadow_filter; |
|---|
| 61 | Lib3dsIntw shadow_size; |
|---|
| 62 | Lib3dsFloat spot_aspect; |
|---|
| 63 | Lib3dsBool use_projector; |
|---|
| 64 | char projector[64]; |
|---|
| 65 | Lib3dsIntd spot_overshoot; |
|---|
| 66 | Lib3dsBool ray_shadows; |
|---|
| 67 | Lib3dsFloat ray_bias; |
|---|
| 68 | Lib3dsFloat hot_spot; |
|---|
| 69 | Lib3dsFloat fall_off; |
|---|
| 70 | }; |
|---|
| 71 | |
|---|
| 72 | extern LIB3DSAPI Lib3dsLight* lib3ds_light_new(const char *name); |
|---|
| 73 | extern LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh); |
|---|
| 74 | extern LIB3DSAPI void lib3ds_light_dump(Lib3dsLight *light); |
|---|
| 75 | extern LIB3DSAPI Lib3dsBool lib3ds_light_read(Lib3dsLight *light, iostream *strm); |
|---|
| 76 | extern LIB3DSAPI Lib3dsBool lib3ds_light_write(Lib3dsLight *light, iostream *strm); |
|---|
| 77 | |
|---|
| 78 | #ifdef __cplusplus |
|---|
| 79 | } |
|---|
| 80 | #endif |
|---|
| 81 | #endif |
|---|