home *** CD-ROM | disk | FTP | other *** search
/ Encyclopedia of Graphics File Formats Companion / GFF_CD.ISO / formats / radiance / spec / scene.txt < prev    next >
Encoding:
Text File  |  1994-06-01  |  3.8 KB  |  201 lines

  1. Subj:Radiance scene description
  2.  
  3. Altogether, there are at least 4 "languages" involved with Radiance 
  4. scene descriptions: the basic scene input language, the function file 
  5. language, the data file language and the font language.  All except 
  6. the function file language are exceedingly simple.
  7.  
  8. Scene Input
  9. =========== 
  10.  
  11. statement:primitive
  12. | alias
  13. | command
  14. | comment
  15.  
  16. primitive:STRING type STRING
  17. INTEGER string_args
  18. INTEGER integer_args
  19. INTEGER real_args
  20.  
  21. alias:STRING alias STRING STRING
  22.  
  23. command:'!' STRING string_args
  24.  
  25. comment:'#' string_args
  26.  
  27. string_args:/* nothing */
  28. | STRING string_args
  29.  
  30. integer_args:/* nothing */
  31. | INTEGER integer_args
  32.  
  33. real_args:/* nothing */
  34. | REAL real_args
  35.  
  36. type:"polygon"
  37. | "cone"
  38. | "sphere"
  39. | "texfunc"
  40. | "ring"
  41. | "cylinder"
  42. | "instance"
  43. | "cup"
  44. | "bubble"
  45. | "tube"
  46. | "plastic"
  47. | "metal"
  48. | "glass"
  49. | "trans"
  50. | "dielectric"
  51. | "interface"
  52. | "plasfunc"
  53. | "metfunc"
  54. | "brightfunc"
  55. | "brightdata"
  56. | "brighttext"
  57. | "colorpict"
  58. | "glow"
  59. | "source"
  60. | "light"
  61. | "illum"
  62. | "spotlight"
  63. | "mirror"
  64. | "transfunc"
  65. | "BRTDfunc"
  66. | "plasdata"
  67. | "metdata"
  68. | "transdata"
  69. | "colorfunc"
  70. | "antimatter"
  71. | "colordata"
  72. | "colortext"
  73. | "texdata"
  74. | "mixfunc"
  75. | "mixdata"
  76. | "mixtext"
  77. | "prism1"
  78. | "prism2"
  79.  
  80. Function File
  81. ============= 
  82.  
  83. decl:';'
  84. | function_decl ';'
  85. | variable_decl ';'
  86.  
  87. function_decl:ID '(' id_list ')' assign_op e1
  88.  
  89. variable_decl:ID assign_op e1
  90.  
  91. id_list:ID
  92. | ID ',' id_list
  93.  
  94. assign_op:'='
  95. | ':'
  96.  
  97. e1:e1 '+' e2
  98. | e1 '-' e2
  99. | e2
  100.  
  101. e2:e2 '*' e3
  102. | e2 '/' e3
  103. | e3
  104.  
  105. e3:e4 '^' e3
  106. | e4
  107.  
  108. e4:'+' e5
  109. | '-' e5
  110. | e5
  111.  
  112. e5:'(' e1 ')'
  113. | ID
  114. | ID '(' id_list ')'
  115. | REAL
  116. | '$' INTEGER
  117.  
  118. Comments may appear between any two tokens set off by curly braces {},
  119. and may be nested to any level.
  120.  
  121. Data File
  122. ========= 
  123.  
  124. data:dimensions value_list
  125.  
  126. dimensions:INTEGER dim_list
  127.  
  128. dim_list:dim
  129. | dim dim_list
  130.  
  131. dim:REAL REAL INTEGER
  132. | '0' '0' INTEGER indep_list
  133.  
  134. indep_list:REAL
  135. | REAL indep_list
  136.  
  137. value_list:/* nothing */
  138. | REAL value_list
  139.  
  140. Font File
  141. ========= 
  142.  
  143. glyph_list:/* nothing */
  144. | glyph glyph_list
  145.  
  146. glyph:INTEGER INTEGER coord_list
  147.  
  148. coord_list:/* nothing */
  149. | INTEGER INTEGER coord_list
  150.  
  151. --------------------------------------------------------------
  152.  
  153. With regards to your topics, I have the following comments.
  154.  
  155. Specification of scene parameters:
  156. - Radiance uses a right-hand coordinate system
  157. - The eyepoint and view direction are given as options
  158. to the renderers, and can be stored in a separate file
  159.  
  160. Supported primitives:
  161. - N-sided polygons
  162. - spheres
  163. - cones, cylinders, rings
  164. - hierarchical instancing for very complex geometries
  165.  
  166. Lighting models:
  167. - Completely general
  168. - Converter provided for IES luminaire specification
  169.  
  170. Textures:
  171. - I break "textures" into two kinds, patterns and textures
  172. - Patterns are variation in color, and can be specified as
  173. pictures, data or functions in any combination
  174. - Textures are perturbations in surface normal, and can
  175. be specified in the same ways as patterns
  176. - A light source distribution is a pattern
  177.  
  178. Bit Mapping:
  179. - Usually given as a picture-type pattern (ie. "colorpict" type)
  180. - True bit-maps (ie. 1-bit depth images) may also be produced
  181. using a special bit font
  182.  
  183. CSG:
  184. - Radiance has an "antimatter" type which supports some rudimentary
  185. CSG subtraction, but otherwise we are strictly B-rep
  186.  
  187. Looping constructs or Recursion:
  188. - The function file language supports recursion
  189. - The "xform" program provides iteration for repeated objects
  190.  
  191. Functions or Procedures:
  192. - The function file language supports functions without side effects
  193.  
  194. User extensibility:
  195. - The user may create function files, data files and font files,
  196. or provide his/her own images for patterns
  197. - General bidirectional reflection distribution functions may
  198. also be specified in the same way as patterns and textures
  199.  
  200.  
  201.