1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
Sun Jul 21 00:00:56 1991 Jonas Yngvesson (jonas-y at gouraud)
* viewpoint.[ch]: Removed declaration and calculation of
alfa and beta (perspective transformation constants).
They are no longer needed (see last entry)
* Changed percpective transformation of the z-coordinate.
It is now only scaled and stores the homogenous "coordinate".
* rendering.c: Changed interpolation of texture coordinates so
it is done in perspective coordinates. They are transformed
back just before calling the shader. Previously the texture on
object spanning large depths showed disturbing "rubberband"
effects.
Thu Jul 18 19:52:17 1991 Jonas Yngvesson (jonas-y at gouraud)
* New file: wood.c, a wood shader.
* New file: woodtest.c. demo of the wood shader.
Mon Jul 15 15:09:54 1991 Jonas Yngvesson (jonas-y at gouraud)
* New file: strausstest.c in the demo directory. This program
demonstrates the new strauss shader.
* Documented sipp_cone()
Fri Jul 12 19:37:29 1991 Jonas Yngvesson (jonas-y at gouraud)
* Uppdated all demo/test programs to use the new function calls.
Added switches to them to decide what rendering mode to use.
Updated the Makefile and README file.
* New file: conetest.c, demonstration/test of the cone and
cylinder primitive. cylindertest.c removed.
* cone.c: Installed David Jones cone code into the library.
cylinder.c removed, cylinder is now a special case of a
truncated cone.
Wed Jul 10 20:43:35 1991 Jonas Yngvesson (jonas-y at gouraud)
* rendering.c: Changed create_edges() so that horizontal lines
are not included in the edge lists. These were previously used
when rendering line images, but no more (see Jul 1 1991).
Changes in merge_edge_lists() and render_line() to comply
with this.
* sipp.c is no more... It had grown out of proportions so I
split it up into the following files:
rendering.[ch] - The actual rendering engine.
lightsource.[ch] - Lightsource handling.
objects.[ch] - Creation of objects and surfaces, object hierachy
handling and object database handling.
smalloc.[ch] - "Safe" malloc and calloc.
transforms.c - Object transformations.
viewpoint.[ch] - Viewpoint and viewing transformation handling.
The old sipptypes.h is now (almost) rendering.h. All new .h files
defines internal types and interfaces. Public ditos are as before
defined in sipp.h
Sat Jul 6 01:07:08 1991 Jonas Yngvesson (jonas-y at gouraud)
* sipp.c: New functions object_sub_subobj() and object_sub_surface()
to remove a subobject and a surface from an object.
* sipp.c: New function object_get_transf() to retrieve the current
transformation matrix of an object.
Fri Jul 5 20:38:12 1991 Inge Wallin (ingwa at brassie)
* Updated the README file to tell about version 2.1 instead of
2.0.2.
* Moved the definition of Vector and Transf_mat to geometric.h
instead of sipp.h. Also made the definition of ident_matrix
public.
* sipp_prism() documented.
* New file: geometric.man which documents all functions and macros
dealing with vectors and matrixes.
* bitmap.[hc] changed name to sipp_bitmap.[hc]. Same for pixmap.
* sipp_pixmap.man: Finished documenting the sipp_bitmap and
sipp_pixmap implementations.
Mon Jul 1 17:50:01 1991 Jonas Yngvesson (jonas-y at gouraud)
* sipp.c: Changed generation of line images so that the y_bucket
and edge lists don't have to be allocated. It's faster and
saves LOTS of memory. Lines are drawn directly in
create_edges(). The bitmap support in bitmap.c are now used
internally in sipp.c.
* sipp.c: Changed the polygon clipper so clipping is performed
before the perspective transformation. Otherwize texture
coordinates were destoyed by the clipping.
Tue Jun 25 23:48:44 1991 Inge Wallin (jonas-y at brassie)
* New file: demo/prismtest.c replacing blocktest.c.
* New file: prism.c implementing the new object prism. The file
block.c is removed and the code for producing a block is
rewritten to use prism instead.
Tue Jun 25 14:45:59 1991 Jonas Yngvesson (jonas-y at gouraud)
* New file: strauss.c implementing a more advanced shading
model than the basic one (slower too...). The model is the
one described by Paul Strauss in IEEE CG&A Nov. 1990.
Changes in shaders.h also to support this shader.
* New files: bitmap.c and bitmap.h containing functions handling
SIPP bitmaps. These functions could be used when rendering
line images into bitmaps instead of files.
* sipp.c: Added support for rendering line images into bitmaps.
The user provides a bitmap pointer and a line drawing function.
* sipp.c: A global flag decides if backface culling should be
performed. If not, backfacing polygons are "inverted" and
rendered as usual.
* sipp.c: Added a complete polygon clipper. Previously, strange
things could happen if objects were behind the viewpoint.
Sat Jun 8 17:21:11 1991 Jonas Yngvesson (jonas-y at gouraud)
* sipp.c: Support for rendering into pixmaps. A general storage
function is called for each rendered line. Rendering of line
images into bitmaps is *NOT* yet supported. The user provides
a pixmap pointer and a function to set a pixel in it.
Fri Jun 7 03:50:05 1991 Jonas Yngvesson (jonas-y at brassie)
* sipp.c: Added support for new rendering modes: gouraud, flat
and line.
* sipp.c: Added support for arbitrary oversampling factors.
Fri Jun 7 02:34:20 1991 Inge Wallin (ingwa at brassie)
* New file: pixmap.c containing functions for handling SIPP
pixmaps. These functions could be used when rendering into
a pixmap instead of a file.
* ChangeLog created.
These are all the older records:
910527 Ver. 2.0.2. A major bug in traverse_object_tree() fixed.
The invers transformation of the eyepoint was not correct,
causing polygons erroneously to be marked as backfacing.
910412 Ver. 2.0.1. Some minor bugfixes. Division by zero in
create_edges() if an edge was horizontal in both x and y.
Free-list became corrupted since the y_bucket was freed
twice. Wrong parameters to (D)noise() in bumpy.c. Two lines
interchanged in mat_rotate(). A few other minor changes.
901219 At last! 2.0 is out of the bag. And right in time for X-mas :-)
*Major* rewrite. A new level in the object hierarchy introduced.
An object is now a collection of surfaces and other objects
(subobjects). This allows creation of complex composite objects.
Objects in the hierarchy have coupled transformations.
The old "Object" is now, more appropriately, called Surface.
A fatal bug in the viewing transformation fixed.
Objects and surfaces have internal reference counters so deletion
won't leave dangling references in an hierachy.
The code is now almost readable.
Images format changed to PPM since much more applications
exists that can handle that format.
The shader package is extended and a package with functions
to create geometric primitives as objects is provided.
901030 More general shader interface. The simple internal shader
was moved out of sipp into its own file. Several shaders
provided together with it in a "shader package".
900712 Major code beautifying, quite a lot left to do though...
Typedefs instead of raw structures,
much better typenames, lots of comments added (probably
not enough though). Split into a few header files and
a source file. More portable interface.
891124 Made the object representation independent of the
illumination model used. A user can now supply his
own surface description and shading function.
Added support for texture mapping (both solid and 2d).
No texture mapping is built into the internal shader though.
891120 Added colour. New illumination model. Simple antialiasing
with double oversampling and a box filter.
891028 Converted from sippuz to sipp. Z-buffer changed
to scan-line z-buffer.
Phong-shading.
The stack notion introduced.
Changed fixed viewpoint to a user defined one.
World coordinates and picture resolution can be chosen
freely.
881128 Converted from Pascal to C. Gouraud shading. Redesign of the
data structures.
88???? Original program "sippuz - simple polygon processing using a
z-buffer", written in Hedrick Pascal on a DEC-20 system
running TOPS-20. Greyscales only. Flat shading.
|