Bezier GUI Help Page



Version

First of all: This is free software - see License.
Second: This is a beta version! Please do not expect it to be free of bugs...
Help me to improve the software by reporting bugs, possible improvements, etc. to: <rammelt@cs.tu-berlin.de>.



Loading / Rendering / Saving Images

This part describes what are the minimum steps to create an image:
Load
Load a "Dump-File". For now this is the only format supported. It was written by another application, written in TCL/TK and C++ which is not part of this distribution. So the objects cannot be edited (maybe this would be possible in a future version, which most propably will use another more sophisticated format, probably a xml-format...). Some dump-files are included in the beziers/ directory of this distribution.
Start
                          calculation
Start rendering. A progress bar will appear on the image display. When calculation finished succesfully the progress bar will disappear and the rendered image will be shown instead.
Start
                          calculation Automatically restart calculation if a parameter has been changed (only restarts the relevant parts of the calculation while the start button Start
                          calculation always restarts the whole calculation).
Abort
                          calculation
Abort rendering (only active while rendering) - hopefully you do not need this too often... :-)
Save
                          image
Save the image. Supported formats are: PNG (supports transparency), JPEG (doesn't support transparancy)



3D Parameters

View-Point
Define the view point here. A little box on the right side of the image display shows the direction.
x
x-coordinate
y
y-coordinate
z
z-coordinate


Distance
Normally (distance <= 0) the viewer is assumed to be infinetly far away, i.e. a parallel-perspective is used. Using a distance > 0 creates an diminishing point perspective.
distance
x-coordinate


Light-Point
Define the coordinates of the (single) source of light here. A little box on the bottom side of the image display shows the direction. The light is assumed to be infinetly far away, i.e. rays of light are all in parallel.
x
x-coordinate
y
y-coordinate
z
z-coordinate



Bezier Parameters

Bezier
density
number of columns / rows a bezier-mesh has per 1 pixel distance of the most distant neighbouring corner points. If the density value is too small you might observe holes in the object. On the other hand a density which is unnecessarily high might cause an "out of memory" error and also increases the calculation time. The example below shows a typical result for a density which is too small:

scale
Scaling factor (1 means original size, 0.5 means half the original size, 2 means twice the original size)
splits
This is experimental! By this value one can define the maximum number of times a bezier-surface gets split up into 4 smaller surfaces. Using this feature might introduce instabilities into the object. It might even cause errors, due to surfaces getting very large because of such instabilities.


splits = 0
splits = 1
min
If splits > 0 this value defines the minimum size a surface must have to be split up. The size is defined by the max. distance of two neighbouring corners of such a surface.



Rendering Parameters

Background
Background color.
red
Red channel
green
Green channel
blue
Blue channel
alpha Alpha channel (0 means background is fully transparent, 255 means color is fully opaque)


HSB-Filter
Color filter
hue
Hue offset
saturation
Saturation factor
brightness
Brightness factor


Focus-Depth-Filter
Parameters for a filter, which blurs all points depending on their distance to a z-coordinate of highest sharpness.
blur-radius
Max. blur radius
relative z-position of
                        highest sharpness
Relative z-position (0 = front, 1 = back) of the highest sharpness


Color-Shift-Filter
Parameters for a filter, which "shifts" colors of all points depeneding on their distance (given by their z-coordinates). This filter could be used to create the illusion of very big objects.
blue-shift
Blue-shift coefficient (0 = no blue shift, 1 = max. blue shift)
brightness-shift
Brightness-shift coefficient (0 = no blue shift, 1 = max. blue shift)


Rendering
In this section special parameters for the used rendering algorithm could be defined.
thickness
Thickness of the visible surface (e.g. a value of 10 means that behind every visible pixel there are 9 solid pixels assumed). This value might an effect on shadows only! Only a thickness of 0 is not a good idea, because the object is invisible then :-)
ground
Ground light. This defines the amount of light which depends on the distance to the light point only (the closer a point is the brighter it will be). For the following image a high ground-light value (ground-light = 0.8) was used:

reflex
Reflexivity. The higher this value is, the stronger is the effect of reflected light. The following image was rendered with a low reflex-value (reflex = 0.2):

diffusion
This defines a max. distance over which one "enlighted" point distributes light to points which are shadowed by this point. With a small value for diffusion you might see unwanted edges. This image illustrates this behaviour for diffusion = 1:

gloss
This defines the gloss of the object. The following image was randered with a high value for gloss (gloss = 15):

min. Light
The minimum brightness of a point which belongs to the object. This image was create with a high min-light value of 0.8:

mirror
Mirroring coefficient used for mirrored images


Image-Files
texture
One or more images which are used as a textures for all(!) bezier surfaces. Unfortunately it is not possible to define special textures for some of the surfaces. But if you choose more than one texture file it is possible to define a policy how textures are choosen for all surfaces out of these textures. Textures could have transparent parts. The object will be transparent at these areas. But only if an area is fully transparent (alpha=0) you will see parts of the scene which are behind this surface (normally hidden) (because at the end a 3D scene is defined by a simple Z-buffer which holds exactly one distance for each point/pixel it is not possible to have more than one layer of visible objects shining through each other...)
front
An image which is used for the front side of a box or for the one "side" of a sphere surrounding the object. The objects surface mirrors this image.
left
An image which is used for the left side of a box urrounding the object. The objects surface mirrors this image.
top
An image which is used for the top side of a box urrounding the object. The objects surface mirrors this image.
back
An image which is used for the back side of a box urrounding the object. The objects surface mirrors this image.
right
An image which is used for the right side of a box urrounding the object. The objects surface mirrors this image.
bottom
An image which is used for the bottom side of a box urrounding the object. The objects surface mirrors this image.
background
An image which is used for the background (if this image has (semi-)transparent pixels the background color has still an effect)


Texture choosing policy
forward
Use the first texture for the first surface, the second for the second surface, ... start again at the first texture if there are more surface than textures (which is usally true).
backward
Use the last texture for the first surface, the second last for the second surface, ... start again at the last texture if there are more surface than textures (which is usally true).
random
For each surface choose a texture at random.



Mirroring Shape
box-shaped
The mirrored image is put on all six sides of an box surrounding the object
spherical
The mirrored image is put on a sphere surrounding the object


View Parameters

Zoom
zoom
Zoom factor. This doesn't affect the actual size of the image (e.g. if it is saved on disk). It just effects the size of the displayed image!



License

Copyright (c) 2009, Patrick Rammelt
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.