2
// Copyright � 1997 - 2001, Paul C. Gregory
4
// Contact: pgregory@aqsis.com
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU General Public
8
// License as published by the Free Software Foundation; either
9
// version 2 of the License, or (at your option) any later version.
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// General Public License for more details.
16
// You should have received a copy of the GNU General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22
\brief Implements libslxargs, analogous to Pixar's sloarg library.
23
\author Douglas Ward (dsward@vidi.com)
26
#ifndef SLX_H_INCLUDED
27
#define SLX_H_INCLUDED 1
42
SLX_TYPE_DISPLACEMENT,
44
SLX_TYPE_TRANSFORMATION,
80
typedef float SLX_SCALAR;
82
typedef struct SLXvissymdef
86
SLX_STORAGE svd_storage;
87
SLX_DETAIL svd_detail;
92
SLX_SCALAR *scalarval;
93
SLX_MATRIX *matrixval;
99
#define NULL_SLXVISSYMDEF ((SLX_VISSYMDEF *)0)
101
extern void SLX_SetPath ( char * path );
102
extern char *SLX_GetPath ( void );
103
extern int SLX_SetShader ( char * name );
104
extern char *SLX_GetName ( void );
105
extern SLX_TYPE SLX_GetType ( void );
106
extern int SLX_GetNArgs ( void );
107
extern SLX_VISSYMDEF *SLX_GetArgById ( int id );
108
extern SLX_VISSYMDEF *SLX_GetArgByName ( char * name );
109
extern SLX_VISSYMDEF *SLX_GetArrayArgElement( SLX_VISSYMDEF * array, int index );
110
extern void SLX_EndShader ( void );
111
extern char *SLX_TypetoStr ( SLX_TYPE type );
112
extern char *SLX_StortoStr ( SLX_STORAGE storage );
113
extern char *SLX_DetailtoStr ( SLX_DETAIL detail );
119
#endif /* SLX_H_INCLUDED */