Subversion Repositories Kolibri OS

Rev

Rev 9237 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9512 IgorA 1
View3ds 0.076 - tiny viewer to .3ds and .asc files with several graphics
8014 leency 2
                effects implementation.
5486 leency 3
 
8014 leency 4
What's new?
9512 IgorA 5
1. Detecting manifold chunks procedure based on kind of sorted pivot
6
    table. Chunks are counted and this number displayed.
7
2. New calculating normal vectors proc that use some data produced
8
    by new chunks routine. Now big object loading is fast. I load object that
9
    contains ~500000 vertices,  ~700000 faces and  ~2000 0000 unique edges
10
    in few seconds on i5 2cond gen. Earlier such objects calculating was
11
    rather above time limits.
12
3. On http://board.flatassembler.net occasionaly there are some disccusions
13
    about optimizing. Some clever people, wich skills and competence I trust,
14
    claims - for CPU's manufactured last  ~15 years size of code is crucial
15
    for speed. (Better utilize CPU cache).
16
    So I wrote some 'movsd' mnemonics instead  'mov [edi],sth'; 'loop' instead
17
    'dec ecx,jnz sth'. Moreover I come back to init some local varibles
18
    by 'push' (flat_cat.inc). I took effort to change divisions to
19
    multiplications  two_tex.inc  (works ok in fpu only Ext = NON mode and
20
    of course in Ext = SSE3 mode),  grd_tex.inc (single line not parallel
21
    muls, whole drawing routine  4 divs instead 27 divisions),
22
    bump_tex.inc - 3 divs in SSE2 mode.s  See sources for details.
23
4. Editor button allows now editing by vertex all above 65535 vert objects.
24
 
25
 
8719 leency 26
 
27
 
5486 leency 28
Buttons description:
9512 IgorA 29
1.  rotary: choosing rotary axle: x, y, x+y, keys - for object translate
30
    using keyboard.	 .
6769 IgorA 31
2.  shd. model: choosing shading model: flat, grd (smooth), env (spherical
32
    environment mapping, bump (bump mapping), tex (texture mapping),
33
    pos (position shading depend), dots (app draws only points - nodes of object),
34
    txgrd (texture mapping + smooth shading),  2tex (texture mapping + spherical
35
    environment mapping), bmap (bump + texture mapping),  cenv (cubic environment
8666 dunkaist 36
    mapping), grdl (Gouraud lines - edges only), rphg (real Phong), glas (glass effect),
37
    ptex (real Phong + texturing + transparency).
6769 IgorA 38
3.  speed: idle, full.
5486 leency 39
4,5. zoom in, out: no comment.
9237 leency 40
6.  ray shadow: calc ray casted shadows.
6769 IgorA 41
7.  culling: backface culling on/ off.
42
8.  rand. light: Randomize 3 unlinear lights( so called Phong's illumination).
43
9.  Blur: blur N times; N=0,1,2,3,4,5
5486 leency 44
10.11,12,13. loseless operations (rotary 90, 180 degrees).
9237 leency 45
12. emboss: Do emboss effect( flat bumps ), use 'bumps deep' button to do edges
8719 leency 46
     more deep.
5486 leency 47
13. fire: do motion blur ( looks like fire ).
9237 leency 48
14. move: changes meaning x,y,z +/- buttons  ->  obj: moving object, camr: moving
8719 leency 49
      camera, wave: x,y +/- increase, decrease wave effect frequency and amplitude.
5486 leency 50
15. generate: Generates some objects: node, Thorn Crown, heart...
51
16. bumps: random, according to texture.
52
17. bumps deep -> create bumps deeper or lighter.
9237 leency 53
18. re-map tex -> re-map texture and bump map coordinates, to change spherical
8719 leency 54
     mapping  around axle use 'xchg' and 'mirror' buttons, then press 're-map tex' button.
5486 leency 55
19. bright + -> increase picture brightness.
56
20. bright - -> decrease picture brightness.
57
21. wav effect -> do effect based sine function.
8719 leency 58
22. editor -> setting editing option. If is "on" then red bars are draw according to each
59
   vertex, Pressing  and moving left mouse button (cursor must be on handler)- change
9237 leency 60
   vertex position. If left mouse button is released apply current position. You may also
8719 leency 61
   decrease whole handlers count by enable culling (using appropriate button) - some
62
   back handlers become hidden.
5486 leency 63
 
9512 IgorA 64
                         Maciej Guba             XII 2021