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
/
mac
/
povray3.txt
< prev
next >
Wrap
Text File
|
1995-02-05
|
10KB
|
193 lines
From Chris Young - POV-Ray Team Coordinator 76702.1655@compuserve.com
Many people are enquiring about what will be in POV-Ray 3.0. The list below
describes features we have already implemented. Unless some terrible design
flaw is uncovered they will be in 3.0. There is an EXTENSIVE list of other
features we hope to add but those features haven't even been coded yet. We
absolutely WILL NOT SAY what is on this additional list. Note that the
"yet-to-be-written" list is nearly as long as the list below. As items are
finalized we may update this public list.
We are not currently looking for additional features to add. Please save your
suggestions for 4.0 until 3.0 is released. It's not that we don't care, but if
we don't stop adding stuff to 3.0 soon then it'll NEVER get done. The absolute
SOONEST you can expect to see 3.0 released will be late summer of 1995 AT THE
VERY BEST. It could easily take longer. Note that the more people ask us 'When
will POV-Ray 3.0 be ready and what will it have?' the less time we have to work
on it.
NOTE : For non-Americans, 'late summer of 1995' probably means about August.
FEATURES TOTALLY IMPLEMENTED AND GUARANTEED TO BE IN 3.0
1. New command-line and option features.
A. Eliminated +T case sensitive switch.
B. Eliminated sub-options of +V switch.
C. Changed when +SR, +SC, +ER, +EC take effect when using
fractional values. For example: +W320 +SR0.1 +W640 used to
result in +SR32 now late binding results in +SR64. Order
of specifying switches no longer hurts.
D. Now +B0 or -B0 turns off any previous +Bnnn setting. Formerly
any +B setting could not be overridden once set. Now it can be.
E. Modified +Xnnn command-line switch to only check for keypress
every nnn pixels.
F. Options may now be set in an .INI file with commands
such as "This_Option=value".
G. Old command-line switches and .DEF files still supported.
H. Both switches and INI options may be specified in files,
on command-line or in POVRAYOPT environment variable.
I. DEF and INI files may be nested up to 10 levels.
2. New math functions.
A. The following functions have been added to the expression parser
These return float values...
abs(A) absolute values of A
acos(A) arc-cosine, the angle whose cosine is A
asin(A) arc-sine, the angle whose sine is A
atan2(X,Y) arc-tangent in radians of (X/Y)
ceil(A) round up to next integer value A
clock * value of +K switch
cos(A) cosine of A where A is in radians
degrees(A) convert A from radians to degrees
div(A,B) integer part of (A/B)
exp(A) e-to-the A power
int(A) integer part of A
log(A) base e logarithm of A
max(A,B) maximum of A and B
min(A,B) minimum of A and B
mod(A,B) A modulo B, the remainder of A/B
pi constant 3.3.1415926535897932384626
pow(A,B) raise A to the B power
radians(A) convert A from degrees to radians
sqrt(A) square root of A
tan(A) tangent of A where A is in radians
vdot(V1,V2) dot product of vectors V1 and V2
vlength(V1) length of vector V1
version * value of version variable
These return vector values...
vaxis_rotate(V1,V2,D) rotate point V1 by D degrees about
any arbitrary axis V2 (not just
coordinate axes)
vcross(V1,V2) cross product of V1 X V2
vnormalize(V) scale V to unit length
vrotate(V1,V2) rotate point V1 about coordinate axes by
amount of degrees. Example: vrotate(V1,30*y)
rotates V1 by 30 degrees about y-axis.
x, y, z * constant unit vectors
(Note: * denotes already in POV-Ray 2.2)
B. Relational expressions and operators implemented.
(A<B) (A<=B) (A=B) (A!=B) (A>=B) (A>B)
Note: Relational expressions MUST be in parenthesis.
C. Logical expressions and operators.
!(A) (A&B) (A|B)
D. Logical constants on, off, true, false, yes, no.
E. Conditional expressions.
(COND)?A:B if COND then value is A else B.
F. Math expressions apply to colors as well as floats and vectors.
Also mixed expressions "White*.75". Float may always be promoted
to vector. Examp: sphere{0,1} is sphere{<0,0,0>,1}
3. New texture features.
A. New 5th color channel "transmit" for non-filtered transparency.
Added "transmit" keyword (for example "color red 0.6 transmit 0.7")
Added "rgbt" and "rgbft" keywords (similar to "rgbf" but
for transmit).
B. Weighted average of multiple pigments, normals and textures.
C. All pigment types (wood, marble etc) may be used as normal types.
D. All normal types (bumps, waves etc) may be used as pigment types.
E. New pigment & normal pattern types:
brick, crackle, spiral1 & spiral2 (with number of arms
adjustable), quilted (with parameters control0 and control1)
F. New pigment_map allows pigment patterns to consist of a blend
of pigment patterns rather than just a blend of solid color.
G. New normal_map allows normal patterns to consist of a blend of
other normal patterns.
H. New slope_map allows shaping of the wave forms of most normal
types.
I. New texture_map texture patterns to consist of a blend
of textures patterns rather than just one. Basically extends
concept of "tiles" and "material_map" to any pattern.
J. Choice of wave forms for many pigments and normals. Types:
ramp_wave, triangle_wave, sine_wave, scallop_wave. For example
wood and marble pigment used to be forced to use triangle_wave
with pattern from 0.0 to 0.5 then reversing from 0.5 to 1.0.
Now can be overridden with ramp_wave.
K. New iridescence finish with turbulence and other parameters.
L. New directional ambient light doesn't cast shadows.
M. Specify number of waves for waves and ripples patterns.
N. Improved color calculation for metallic surfaces.
4. Atmospheric effects.
A. New fog types.
B. Rainbows
C. Skyblend backgrounds
D. Declare identifiers for fogs, rainbows, and skyblends. Allow
multiple atmospheric effects.
E. Volume sampling to simulate atmospheric scattering
5. New object primitives.
A. Blob components may be sphere or cylinder. Old sphere-only
syntax still supported.
B. Blob components may be individually textured, translated,
rotated and scaled.
C. New lathe primitive creates object by rotating polygon
about the y-axis. Optional curved edges.
D. New surface of revolution primitive. Create object
by rotating curve about y-axis.
E. New polygon primitive. Any number of sides.
F. New prism primitive. Extrude a polygon. Optional curved
edges. Optional tapering.
G. New extruded text object created from truetype fonts with
proportional spacing and kerning.
H. New superquadric ellipsoids for rounded boxes, cylinders and
other interesting shapes.
6. New light source features
A. New cylindrical spotlight added to light_source.
B. Light may optionally fall off due to light source distance
7. Speed improvements.
A. New light buffer and vista buffer speed-up from FTPOV
(Note: FTPOV author Dieter Bayer joined POV-Ray Team)
B. Shadow rays faster when object has no transparency.
C. Internal bounding of blob components and other blob speed
improvements.
D. New Automatic Depth Control stops tracing reflected or
transmitted rays when those rays contribution drops below
a threshold value.
E. Optionally remove manual bounded_by when auto bounding may
perform better. Especially useful for old scenes with lots
of manual bounds.
F. Improved handling of infinite primitives in bounding.
G. Improved auto-bounding of torus primitive.
H. Improved quartic and polynomial root solving.
I. Improved CSG bounding.
J. Improved clipped quadric bounding.
K. Faster normal calculation of smooth triangles.
L. Faster disc functions with tighter bounds.
8. Camera features.
A. New camera types: orthographic, fisheye, omnimax, panoramic,
ultra_wide_angle, cylindrical (four types).
B. Focal blur to simulate depth of field.
C. Camera ray normal patterns for bumpy, wavy etc lens effects.
D. Bug fixes in old camera.
9. Output features.
A. Improved parse error messages with echo of lines leading
up to the error.
B. Re-designed status, render, and statistic output.
C. Internal reorganization of all text I/O functions and memory
allocation to ease porting to GUI environments.
D. Compressed Targa now supported via +FC switch.
E. Support for input of files in PPM and PGM file format for
image_map, bump_map, material_map and height_field.
F. Suports PPM file format output via +FP switch.
10. Misc. language improvements.
A. The sturm keyword can be turned off with "sturm 0"
B. Made "color" keyword optional everywhere except old style
color maps.
11. Animation support.
(Not yet implemented but guaranteed to be in 3.0)