POV-Ray : Newsgroups : povray.unofficial.patches : Some ideas about SDL enhancements : Re: Some ideas about SDL enhancements Server Time
3 Jul 2024 06:21:48 EDT (-0400)
  Re: Some ideas about SDL enhancements  
From: Christopher James Huff
Date: 1 Apr 2003 09:17:42
Message: <cjameshuff-76E0D7.09181601042003@netplex.aussie.org>
In article <3e896d52@news.povray.org>, Warp <war### [at] tagpovrayorg> 
wrote:

>   Because #until is unambiguous to the parser.
>   When the POV-Ray parser sees the #do and a bit forward it sees a #while,
> it has no way of knowing whether the #while is ending the #do or whether
> it's starting a #while-loop.
>   Using #until completely disambiguates this.

Of course...without block delimiters, this is necessary.


> >>   * Handling bitmaps with a 2-dimensional color array.
> 
> > Hmm...not very memory efficient, and doesn't hook into POV's existing 
> > internal image handling. A separate data type might be better.
> 
>   You are right. There could be a new "bitmap" type which is stored in
> memory more efficiently than an 2-dimensional array of colors, but which
> looks from the point of view of the SDL like such array. (The only difference
> would be that if you want to create an identifier of type "bitmap" by other
> means than using the image reasing function, there must be a special syntax
> for that.)

Something like this?
new_image(X_SIZE, Y_SIZE, INIT_FUNCTION)
open_image(X_SIZE, Y_SIZE, TYPE, FILE_NAME)

or this:
image {X_SIZE, Y_SIZE, INIT_FUNCTION | TYPE FILE_NAME}

Some other ideas:
Declarable warps, and make "warp {}" behave more like "transform {}", 
able to hold multiple warps. There are some incompletely implemented 
features in warps as well.

Declarable patterns. We really have this already, it is just necessary 
to tweak the function pattern syntax.

Universal "blend", replacing all the *_map keywords. Maybe combine with 
splines.

Integrate textures, patterns, splines, warps, color_maps, etc with 
functions. In the process of happening now.

Separate transparency:
texture {
    pigment {...}
    
    transparency FILTER_AMT
    
    transparency FILTER_AMT, TRANSM_AMT
    
    transparency {
        filter FILTER_AMT
        transmit TRANSM_AMT
        blur {...}
    }
}
The *_AMT could be constants or functions.

Extend waveforms. spline_wave, function, move phase and frequency into 
"waveform" block. Default waveforms would be the same, but when a 
waveform block is specified, use unclipped pattern values as input.

finish_map, or let finish values be specified with functions.

Roll "sky_sphere" into "background". With the present name, too many 
people mistake it for an object.

RGBE file format support. Other high dynamic range formats.

axis_rotate, stretch transforms. axis_rotate is obvious, stretch is like 
scale, but along a specific axis. (axial_scale?)

I've mentioned my ideas for noise generators before...basically, they 
would be ordinary functions.

Dump the # character for anything not a "preprocessor" command.

I have a lot of other ideas, but I'll stop there.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.