1,33 → 1,16 |
View3ds 0.076 - tiny viewer to .3ds and .asc files with several graphics |
View3ds 0.077 - tiny viewer to .3ds and .asc files with several graphics |
effects implementation. |
|
What's new? |
1. Detecting manifold chunks procedure based on kind of sorted pivot |
table. Chunks are counted and this number displayed. |
2. New calculating normal vectors proc that use some data produced |
by new chunks routine. Now big object loading is fast. I load object that |
contains ~500000 vertices, ~700000 faces and ~2000 0000 unique edges |
in few seconds on i5 2cond gen. Earlier such objects calculating was |
rather above time limits. |
3. On http://board.flatassembler.net occasionaly there are some disccusions |
about optimizing. Some clever people, wich skills and competence I trust, |
claims - for CPU's manufactured last ~15 years size of code is crucial |
for speed. (Better utilize CPU cache). |
So I wrote some 'movsd' mnemonics instead 'mov [edi],sth'; 'loop' instead |
'dec ecx,jnz sth'. Moreover I come back to init some local varibles |
by 'push' (flat_cat.inc). I took effort to change divisions to |
multiplications two_tex.inc (works ok in fpu only Ext = NON mode and |
of course in Ext = SSE3 mode), grd_tex.inc (single line not parallel |
muls, whole drawing routine 4 divs instead 27 divisions), |
bump_tex.inc - 3 divs in SSE2 mode.s See sources for details. |
4. Editor button allows now editing by vertex all above 65535 vert objects. |
Whats new? |
1. More divs elimination comparing to ver 0.076, - grd_cat.inc file. |
2. Some 3ds object I have, reads with invalid normals - fixed. |
3. Invalid submit edition bug - fixed. Smaller size of adjcent proc. |
4. Edges detection fix. |
|
|
|
|
Buttons description: |
1. rotary: choosing rotary axle: x, y, x+y, keys - for object translate |
using keyboard. . |
1. rotary: choosing rotary axle: x, y, x+y, keys - for object custom rotate |
using keyboard - keys <, >, PgUp, PgDown. |
2. shd. model: choosing shading model: flat, grd (smooth), env (spherical |
environment mapping, bump (bump mapping), tex (texture mapping), |
pos (position shading depend), dots (app draws only points - nodes of object), |
40,7 → 23,7 |
6. ray shadow: calc ray casted shadows. |
7. culling: backface culling on/ off. |
8. rand. light: Randomize 3 unlinear lights( so called Phong's illumination). |
9. Blur: blur N times; N=0,1,2,3,4,5 |
9. blur: blur N times; N=0,1,2,3,4,5 |
10.11,12,13. loseless operations (rotary 90, 180 degrees). |
12. emboss: Do emboss effect( flat bumps ), use 'bumps deep' button to do edges |
more deep. |
61,4 → 44,4 |
decrease whole handlers count by enable culling (using appropriate button) - some |
back handlers become hidden. |
|
Maciej Guba XII 2021 |
Maciej Guba march 2022 |