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