1 View3ds 0.076 - XII 2021
\r
2 1. Detecting manifold chunks procedure based on kind of sorted pivot
\r
3 table. Chunks are counted and this number displayed.
\r
4 2. New calculating normal vectors proc that use some data produced
\r
5 by new chunks routine. Now big object loading is fast. I load object that
\r
6 contains ~500000 vertices, ~700000 faces and ~2000 0000 unique edges
\r
7 in few seconds on i5 2cond gen. Earlier such objects calculating was
\r
8 rather above time limits.
\r
9 3. On http://board.flatassembler.net occasionaly there are some disccusions
\r
10 about optimizing. Some clever people, wich skills and competence I trust,
\r
11 claims - for CPU's manufactured last ~15 years size of code is crucial
\r
12 for speed. (Better utilize CPU cache).
\r
13 So I wrote some 'movsd' mnemonics instead 'mov [edi],sth'; 'loop' instead
\r
14 'dec ecx,jnz sth'. Moreover I come back to init some local varibles
\r
15 by 'push' (flat_cat.inc). I took effort to change divisions to
\r
16 multiplications two_tex.inc (works ok in fpu only Ext = NON mode and
\r
17 of course in Ext = SSE3 mode), grd_tex.inc (single line not parallel
\r
18 muls, whole drawing routine 4 divs instead 27 divisions),
\r
19 bump_tex.inc - 3 divs in SSE2 mode.s See sources for details.
\r
20 4. Editor button allows now editing by vertex all above 65535 vert objects.
\r
21 ----------------------------------------------------------------------------------
\r
23 View3ds 0.075 - XII 2021
\r
24 1. Cusom rotate using keys and mouse scroll support by Leency.
\r
25 ----------------------------------------------------------------------------------
\r
27 View3ds 0.074 - IX 2021
\r
28 1. Fixed emboss bug in grd lines displaying model.
\r
29 2. Grd line exceedes screen problem fix.
\r
30 3. New rendering model - ray casted shadows and appropiate button to
\r
31 set 'on' this option. Note that is non real time model, especially when
\r
32 complex object is computed. I took effort to introduce accelerating
\r
33 structure - AABB (Axis Aligned Bounding Boxes).. but it is disabled
\r
34 for now - seems to work incorrect(slow).
\r
35 ----------------------------------------------------------------------------------
\r
37 View3ds 0.073 - may 2021
\r
38 1. I introduced procedure for searching nonredundand edges.
\r
39 2. Writing some info about object: vertices, triangles unique edges
\r
41 -----------------------------------------------------------------------------------
\r
43 View3ds 0.072 - march 2021
\r
44 1. New displaying model - texturing with bilinear filtering and transparency
\r
45 simultanusly. Note that filtering is done only inside polygon. To better
\r
46 quality of image there is a need to use floats coordinates of texture to pass
\r
47 as arguments to single triangle rendering proc.
\r
49 3. SSE3 version runs correct on SSE2 cpus, but real phong, glass and
\r
50 transparented texturing with filtering rendering models are disabled.
\r
51 -----------------------------------------------------------------------------------
\r
53 View3ds 0.071 - VIII 2020
\r
54 1. New displaying model - glass - it's two pass rendering. First pass calculates
\r
55 Z position of all front pixels, second render image with adding reflective
\r
56 component of light only for front pixels. Transparent effect by adding with saturation.
\r
57 2. I removed bug with performing generation object after choosing 'emboss' option.
\r
58 -----------------------------------------------------------------------------------
\r
60 View3ds 0.070 - VII 2020
\r
61 1. Some keys support by Leency.
\r
62 2. New displaying model - real Phong - real not fake normal vector interpolation,
\r
63 normalising it and calculating dot product (one for each light).
\r
64 It requires SSE3. (by me, Maciej Guba)
\r
65 -----------------------------------------------------------------------------------
\r
67 View3ds 0.069 - May 2020
\r
68 1. KPacked files support by Leency.
\r
69 2. 32bit vertices indexes and ability to load whole RAM limited objects.
\r
70 (Above 65535 vertices and triangles), (by me).
\r
71 3. I switch off painters algotithm mode (depth sorting). In app impelementetion it has
\r
72 limited vertices count and produce less quality image than Z buffer Catmull algo.
\r
73 In addition this switch off reduces app size, (by me).
\r
74 -----------------------------------------------------------------------------------
\r
76 View3ds 0.068 - XI 2016
\r
77 1. Editing option - new 'editor' button.
\r
78 2. For now I disable perspective correction, to make implemtation
\r
79 of editing option easier.
\r
80 -----------------------------------------------------------------------------------
\r
82 View3ds 0.067 - XI 2016
\r
83 1. Sizable app window.
\r
84 -----------------------------------------------------------------------------------
\r
86 View3ds 0,066 - X 2016
\r
87 1. App window size according to current screen resolution.
\r
88 2. New emboss procedure.
\r
89 -----------------------------------------------------------------------------------
\r
91 View3ds 0.065 - Feb 2015
\r
92 1. Asc files support.
\r
93 -----------------------------------------------------------------------------------
\r
95 View3ds 0.064 - Nov 2012
\r
97 -----------------------------------------------------------------------------------
\r
99 View3ds 0.063 - X 2012
\r
100 1. Postprocessing effect - wave. Ability to change amplitude and frequency.
\r
101 -----------------------------------------------------------------------------------
\r
103 View3ds 0.062 - VII 2012.
\r
104 1. Counter fix by Mario.
\r
105 2. New drawing model - smooth shaded lines (edges only view) by me.
\r
106 -----------------------------------------------------------------------------------
\r
108 View3ds 0.061 - Nov 2011.
\r
109 1. Two new buttons to increase and decrease brightness.
\r
110 -----------------------------------------------------------------------------------
\r
112 View3ds 0.060 - Aug 2011.
\r
113 1. Header fix by Leency.
\r
114 2. SSE2 optimizations by me. (Most visable in BUMP_TEX mode.)
\r
115 -----------------------------------------------------------------------------------
\r
117 View3ds 0.059 - June 2011.
\r
118 1. Bump and pararell two texture mapping functions optimizations.
\r
119 (files bump_cat.inc & two_tex.inc)
\r
120 On my P4 changes are rather non visable, but on dual core in KlbrInWin
\r
121 optimizations runs preety nice.
\r
122 -----------------------------------------------------------------------------------
\r
124 View3ds 0.058 - June 2011.
\r
125 1. Blur function optimization on SSE and SSE2 (buttons 'blur' and 'fire').
\r
126 -----------------------------------------------------------------------------------
\r
128 View3ds 0.057 - April 2011.
\r
129 1. By opening file bigger then ~18 KB, and choosing env mode program terminate.
\r
131 -----------------------------------------------------------------------------------
\r
133 View3ds 0.056 - February 2011.
\r
134 1. MMX optimizations in 2tex mode (file two_tex.inc).
\r
135 2. Tiny SSE optimizations (file BUMP_CAT.INC).
\r
136 3. Bit (two instructions) improved random light generation procedure.
\r
137 -----------------------------------------------------------------------------------
\r
139 View3ds 0.055 - January 2011.
\r
140 1. SSE optimizations (file BUMP_TEX.INC).
\r
141 2. Compiles correctly in newest FASM.
\r
142 -----------------------------------------------------------------------------------
\r
144 View3ds 0.054 - December 2009 (Updated January 2010).
\r
145 1. Skinned window by Leency.
\r
147 3. Re map texture, bumps option - allow spherical mapping around each axle (X,Y,Z).
\r
148 4. Problem with too small memory to generate object fixed. (Problem ocurred with
\r
149 house.3ds object and others objects contains less than 1000 faces and points).
\r
150 -----------------------------------------------------------------------------------
\r
152 View3ds 0.053 - (?) 2009
\r
154 -----------------------------------------------------------------------------------
\r
156 View3ds 0.052 - November 2007.
\r
157 1. Memory for file is allocated dynamically.
\r
159 Note: compiling correct only for KolibriOS.
\r
160 -----------------------------------------------------------------------------------
\r
162 View3ds 0.051 - October 2007.
\r
163 1. More smooth texture mapping in tex and txgr shading model and others based on
\r
164 tex3.inc, tex_cat.inc shading models.
\r
165 2. Predefined three, I hope, nice lights.
\r
166 -----------------------------------------------------------------------------------
\r
168 View3ds 0.05 - (?) 2007
\r
169 1. New shading model: cubic environment mapping with 1.5 kb light buffer.
\r
170 2. Bumps optionally according to texture. ( It gives so called texture with
\r
171 shifts in bumps + texture shading model. )
\r
172 3. Bumps depth button.
\r
173 -----------------------------------------------------------------------------------
\r
175 View3ds 0.04 - March 2007.
\r
176 1. New shading model: bump + texture. Only version with z coordinate
\r
178 2. SSE optimizations ( files: two_tex.inc and bump_tex.inc )
\r
179 -----------------------------------------------------------------------------------
\r
181 View3ds 0.03 - March 2007.
\r
182 1. Two shading models: smooth + texture, spherical environment mapping + texture.
\r
183 Version only with z coordinate interpolation.
\r
184 2. Bit changed rotary. I took attempt in SSE instuctions. ( matrix multiplication )
\r
185 3. Color position depend drawing model instead spot light ( I hope,spot light come
\r
187 -----------------------------------------------------------------------------------
\r
189 View3ds 0.02 - December 2006.
\r
190 1. New shading models - "spot" - spot light (only one, it's very CPU hungry model,
\r
191 and there is no easy way to implement buffer) with light attenuation (In my
\r
192 implmentation works not perfect); "dots" - app draws only points (with no culling).
\r
193 2. Some loseless operations "mirror": according to each axis, rotary 90 degrees.
\r
194 3. Postprocesing efects: Emboss (use blur to make edges more visable), fire ( be
\r
195 carefull during `fire + embos`parallel using).
\r
196 4. "Move" - Changes meaning of 'add vector' buttons:
\r
197 used "obj" move object, "camr" move camera (in this option use culling = 'off'
\r
198 I must make culling procedure bit advanced).
\r
199 5. Generate button. Few objects generating (with bad normals)
\r
200 6. Some optimizations on MMX.
\r
201 7. I took an attempt to memory managing functions, but it decreased speed (no aligned
\r
202 memory in Menuet functions?)
\r
204 There is really much work to do and I see disorder in app code.
\r
205 Greetings for all, especially Madis Kalme for .3ds files support and good vibrations. ;)
\r
206 Merry Christmas and happy new year.
\r
207 -----------------------------------------------------------------------------------
\r
209 App View3ds ver 0.01 - November 2006.
\r
210 1. Object generating (for now only one). When no parameter specified or error occured
\r
211 during reading file from disk, app generate object. No teapot.3ds needed on ramdrive,
\r
212 but, if this file exist it would be read as default.
\r
213 2. Bug in read_from_file procedure fixed. (In May, when I made shading light vector
\r
214 depend, I demaged bit Madis' procedure.)
\r
215 3. Backface culling on/off option. (Some objects need culling off - they have mismatched
\r
216 normal vectors. Example: iron.3ds, sink.3ds, the generated one.)
\r
217 4. Random lights procedure.
\r
218 5. Spherical (instead old - planar ) bump, texture mapping.
\r
219 6. Bit improved menu.
\r
221 -----------------------------------------------------------------------------------
\r
223 App "View3ds" - it's very early, still unfinished version but I want show you it.
\r
224 Based on earlier demos.
\r
225 1. 3ds object import as a parameter ( for now only short names supported )
\r
226 I updated Kfar app - it can run view3ds with parameter. You must copy it on
\r
227 ramdrive. You could do such funny thing: Run updated Kfar in KolbrInWin,
\r
228 before them set in KolInWin.ini file path to ramdrive, where yo have "view3ds",
\r
229 choose 3ds file ... Emulator will run View3ds with selected file.
\r
230 If no parameter specified, app try open tpot.3ds from ramdrive. If tpot.3ds
\r
231 don't exist on rd, app hang.
\r
232 2. Many lights. Every light - unlinear model ( Phong illumination ). For now
\r
233 no light setting option.
\r
234 3. Light buffer for grd, flat model.