|
Revision 10076, 2.5 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_ATMOSPHERE_H |
|---|
| 3 | #define INCLUDED_LIB3DS_ATMOSPHERE_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 | typedef struct _Lib3dsFog { |
|---|
| 42 | Lib3dsBool use; |
|---|
| 43 | Lib3dsRgb col; |
|---|
| 44 | Lib3dsBool fog_background; |
|---|
| 45 | Lib3dsFloat near_plane; |
|---|
| 46 | Lib3dsFloat near_density; |
|---|
| 47 | Lib3dsFloat far_plane; |
|---|
| 48 | Lib3dsFloat far_density; |
|---|
| 49 | } Lib3dsFog; |
|---|
| 50 | |
|---|
| 51 | |
|---|
| 52 | |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | typedef enum _Lib3dsLayerFogFlags { |
|---|
| 56 | LIB3DS_BOTTOM_FALL_OFF =0x00000001, |
|---|
| 57 | LIB3DS_TOP_FALL_OFF =0x00000002, |
|---|
| 58 | LIB3DS_FOG_BACKGROUND =0x00100000 |
|---|
| 59 | } Lib3dsLayerFogFlags; |
|---|
| 60 | |
|---|
| 61 | |
|---|
| 62 | |
|---|
| 63 | |
|---|
| 64 | |
|---|
| 65 | typedef struct _Lib3dsLayerFog { |
|---|
| 66 | Lib3dsBool use; |
|---|
| 67 | Lib3dsDword flags; |
|---|
| 68 | Lib3dsRgb col; |
|---|
| 69 | Lib3dsFloat near_y; |
|---|
| 70 | Lib3dsFloat far_y; |
|---|
| 71 | Lib3dsFloat density; |
|---|
| 72 | } Lib3dsLayerFog; |
|---|
| 73 | |
|---|
| 74 | |
|---|
| 75 | |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | typedef struct _Lib3dsDistanceCue { |
|---|
| 79 | Lib3dsBool use; |
|---|
| 80 | Lib3dsBool cue_background; |
|---|
| 81 | Lib3dsFloat near_plane; |
|---|
| 82 | Lib3dsFloat near_dimming; |
|---|
| 83 | Lib3dsFloat far_plane; |
|---|
| 84 | Lib3dsFloat far_dimming; |
|---|
| 85 | } Lib3dsDistanceCue; |
|---|
| 86 | |
|---|
| 87 | |
|---|
| 88 | |
|---|
| 89 | |
|---|
| 90 | |
|---|
| 91 | struct _Lib3dsAtmosphere { |
|---|
| 92 | Lib3dsFog fog; |
|---|
| 93 | Lib3dsLayerFog layer_fog; |
|---|
| 94 | Lib3dsDistanceCue dist_cue; |
|---|
| 95 | }; |
|---|
| 96 | |
|---|
| 97 | extern LIB3DSAPI Lib3dsBool lib3ds_atmosphere_read(Lib3dsAtmosphere *atmosphere, iostream *strm); |
|---|
| 98 | extern LIB3DSAPI Lib3dsBool lib3ds_atmosphere_write(Lib3dsAtmosphere *atmosphere, iostream *strm); |
|---|
| 99 | |
|---|
| 100 | #ifdef __cplusplus |
|---|
| 101 | } |
|---|
| 102 | #endif |
|---|
| 103 | #endif |
|---|