home *** CD-ROM | disk | FTP | other *** search
/ Raytrace - The Official POV-RAY CDROM / Raytrace_The_Official_POV-RAY_CD-ROM_Walnut_Creek_April_1995.iso / pc / povray3.txt < prev    next >
Text File  |  1995-02-05  |  10KB  |  193 lines

  1. From Chris Young - POV-Ray Team Coordinator 76702.1655@compuserve.com
  2.  
  3. Many people are enquiring about what will be in POV-Ray 3.0.  The list below
  4. describes features we have already implemented. Unless some terrible design
  5. flaw is uncovered they will be in 3.0. There is an EXTENSIVE list of other
  6. features we hope to add but those features haven't even been coded yet. We
  7. absolutely WILL NOT SAY what is on this additional list.  Note that the
  8. "yet-to-be-written" list is nearly as long as the list below. As items are
  9. finalized we may update this public list.
  10.  
  11. We are not currently looking for additional features to add.  Please save your
  12. suggestions for 4.0 until 3.0 is released. It's not that we don't care, but if
  13. we don't stop adding stuff to 3.0 soon then it'll NEVER get done. The absolute
  14. SOONEST you can expect to see 3.0 released will be late summer of 1995 AT THE
  15. VERY BEST. It could easily take longer. Note that the more people ask us 'When
  16. will POV-Ray 3.0 be ready and what will it have?' the less time we have to work
  17. on it.
  18.  
  19. NOTE : For non-Americans, 'late summer of 1995' probably means about August.
  20.  
  21. FEATURES TOTALLY IMPLEMENTED AND GUARANTEED TO BE IN 3.0
  22.  
  23.    1. New command-line and option features.
  24.       A. Eliminated +T case sensitive switch.
  25.       B. Eliminated sub-options of +V switch.
  26.       C. Changed when +SR, +SC, +ER, +EC take effect when using
  27.          fractional values. For example: +W320 +SR0.1 +W640 used to
  28.          result in +SR32 now late binding results in +SR64.  Order
  29.          of specifying switches no longer hurts.
  30.       D. Now +B0 or -B0 turns off any previous +Bnnn setting.  Formerly
  31.          any +B setting could not be overridden once set.  Now it can be.
  32.       E. Modified +Xnnn command-line switch to only check for keypress
  33.          every nnn pixels.
  34.       F. Options may now be set in an .INI file with commands
  35.          such as "This_Option=value".
  36.       G. Old command-line switches and .DEF files still supported.
  37.       H. Both switches and INI options may be specified in files,
  38.           on command-line or in POVRAYOPT environment variable.
  39.       I. DEF and INI files may be nested up to 10 levels.
  40.  
  41.    2. New math functions.
  42.       A. The following functions have been added to the expression parser
  43.            These return float values...
  44.             abs(A)        absolute values of A
  45.             acos(A)       arc-cosine, the angle whose cosine is A
  46.             asin(A)       arc-sine, the angle whose sine is A
  47.             atan2(X,Y)    arc-tangent in radians of (X/Y)
  48.             ceil(A)       round up to next integer value A
  49.             clock       * value of +K switch
  50.             cos(A)        cosine of A where A is in radians
  51.             degrees(A)    convert A from radians to degrees
  52.             div(A,B)      integer part of (A/B)
  53.             exp(A)        e-to-the A power
  54.             int(A)        integer part of A
  55.             log(A)        base e logarithm of A
  56.             max(A,B)      maximum of A and B
  57.             min(A,B)      minimum of A and B
  58.             mod(A,B)      A modulo B, the remainder of A/B
  59.             pi            constant 3.3.1415926535897932384626
  60.             pow(A,B)      raise A to the B power
  61.             radians(A)    convert A from degrees to radians
  62.             sqrt(A)       square root of A
  63.             tan(A)        tangent of A where A is in radians
  64.             vdot(V1,V2)   dot product of vectors V1 and V2
  65.             vlength(V1)   length of vector V1
  66.             version     * value of version variable
  67.            These return vector values...
  68.             vaxis_rotate(V1,V2,D)    rotate point V1 by D degrees about
  69.                                      any arbitrary axis V2 (not just
  70.                                      coordinate axes)
  71.             vcross(V1,V2)     cross product of V1 X V2
  72.             vnormalize(V)     scale V to unit length
  73.             vrotate(V1,V2)    rotate point V1 about coordinate axes by
  74.                               amount of degrees. Example: vrotate(V1,30*y)
  75.                               rotates V1 by 30 degrees about y-axis.
  76.             x, y, z         * constant unit vectors
  77.            (Note: * denotes already in POV-Ray 2.2)
  78.       B. Relational expressions and operators implemented.
  79.           (A<B) (A<=B) (A=B) (A!=B) (A>=B) (A>B)
  80.          Note: Relational expressions MUST be in parenthesis.
  81.       C. Logical expressions and operators.
  82.           !(A) (A&B) (A|B)
  83.       D. Logical constants on, off, true, false, yes, no.
  84.       E. Conditional expressions.
  85.           (COND)?A:B     if COND then value is A else B.
  86.       F. Math expressions apply to colors as well as floats and vectors.
  87.           Also mixed expressions "White*.75".  Float may always be promoted
  88.           to vector. Examp: sphere{0,1} is sphere{<0,0,0>,1}
  89.  
  90.    3. New texture features.
  91.       A. New 5th color channel "transmit" for non-filtered transparency.
  92.           Added "transmit" keyword (for example "color red 0.6 transmit 0.7")
  93.           Added "rgbt" and "rgbft" keywords (similar to "rgbf" but
  94.             for transmit).
  95.       B. Weighted average of multiple pigments, normals and textures.
  96.       C. All pigment types (wood, marble etc) may be used as normal types.
  97.       D. All normal types (bumps, waves etc) may be used as pigment types.
  98.       E. New pigment & normal pattern types:
  99.           brick, crackle, spiral1 & spiral2 (with number of arms
  100.           adjustable), quilted (with parameters control0 and control1)
  101.       F. New pigment_map allows pigment patterns to consist of a blend
  102.           of pigment patterns rather than just a blend of solid color.
  103.       G. New normal_map allows normal patterns to consist of a blend of
  104.           other normal patterns.
  105.       H. New slope_map allows shaping of the wave forms of most normal
  106.           types.
  107.       I. New texture_map texture patterns to consist of a blend
  108.           of textures patterns rather than just one.  Basically extends
  109.           concept of "tiles" and "material_map" to any pattern.
  110.       J. Choice of wave forms for many pigments and normals.  Types:
  111.           ramp_wave, triangle_wave, sine_wave, scallop_wave.  For example
  112.           wood and marble pigment used to be forced to use triangle_wave
  113.           with pattern from 0.0 to 0.5 then reversing from 0.5 to 1.0.
  114.           Now can be overridden with ramp_wave.
  115.       K. New iridescence finish with turbulence and other parameters.
  116.       L. New directional ambient light doesn't cast shadows.
  117.       M. Specify number of waves for waves and ripples patterns.
  118.       N. Improved color calculation for metallic surfaces.
  119.  
  120.    4. Atmospheric effects.
  121.       A.  New fog types.
  122.       B.  Rainbows
  123.       C.  Skyblend backgrounds
  124.       D.  Declare identifiers for fogs, rainbows, and skyblends.  Allow
  125.            multiple atmospheric effects.
  126.       E.  Volume sampling to simulate atmospheric scattering
  127.  
  128.    5. New object primitives.
  129.       A.  Blob components may be sphere or cylinder.  Old sphere-only
  130.           syntax still supported.
  131.       B.  Blob components may be individually textured, translated,
  132.           rotated and scaled.
  133.       C.  New lathe primitive creates object by rotating polygon
  134.            about the y-axis.  Optional curved edges.
  135.       D.  New surface of revolution primitive. Create object
  136.            by rotating curve about y-axis.
  137.       E.  New polygon primitive.  Any number of sides.
  138.       F.  New prism primitive.  Extrude a polygon.  Optional curved
  139.            edges.  Optional tapering.
  140.       G.  New extruded text object created from truetype fonts with
  141.            proportional spacing and kerning.
  142.       H.  New superquadric ellipsoids for rounded boxes, cylinders and
  143.            other interesting shapes.
  144.  
  145.    6. New light source features
  146.       A.  New cylindrical spotlight added to light_source.
  147.       B.  Light may optionally fall off due to light source distance
  148.  
  149.    7. Speed improvements.
  150.       A.  New light buffer and vista buffer speed-up from FTPOV
  151.            (Note: FTPOV author Dieter Bayer joined POV-Ray Team)
  152.       B.  Shadow rays faster when object has no transparency.
  153.       C.  Internal bounding of blob components and other blob speed
  154.            improvements.
  155.       D.  New Automatic Depth Control stops tracing reflected or
  156.            transmitted rays when those rays contribution drops below
  157.            a threshold value.
  158.       E.  Optionally remove manual bounded_by when auto bounding may
  159.            perform better.  Especially useful for old scenes with lots
  160.            of manual bounds.
  161.       F.  Improved handling of infinite primitives in bounding.
  162.       G.  Improved auto-bounding of torus primitive.
  163.       H.  Improved quartic and polynomial root solving.
  164.       I.  Improved CSG bounding.
  165.       J.  Improved clipped quadric bounding.
  166.       K.  Faster normal calculation of smooth triangles.
  167.       L.  Faster disc functions with tighter bounds.
  168.  
  169.    8. Camera features.
  170.       A.  New camera types: orthographic, fisheye, omnimax, panoramic,
  171.            ultra_wide_angle, cylindrical (four types).
  172.       B.  Focal blur to simulate depth of field.
  173.       C.  Camera ray normal patterns for bumpy, wavy etc lens effects.
  174.       D.  Bug fixes in old camera.
  175.  
  176.    9. Output features.
  177.       A.  Improved parse error messages with echo of lines leading
  178.            up to the error.
  179.       B.  Re-designed status, render, and statistic output.
  180.       C.  Internal reorganization of all text I/O functions and memory
  181.            allocation to ease porting to GUI environments.
  182.       D.  Compressed Targa now supported via +FC switch.
  183.       E.  Support for input of files in PPM and PGM file format for
  184.            image_map, bump_map, material_map and height_field.
  185.       F.  Suports PPM file format output via +FP switch.
  186.  
  187.   10. Misc. language improvements.
  188.       A.  The sturm keyword can be turned off with "sturm 0"
  189.       B.  Made "color" keyword optional everywhere except old style
  190.            color maps.
  191.  
  192.   11. Animation support.
  193.       (Not yet implemented but guaranteed to be in 3.0)