Subversion Repositories Kolibri OS

Rev

Rev 9512 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9512 Rev 9740
Line 1... Line 1...
1
View3ds 0.076 - tiny viewer to .3ds and .asc files with several graphics
1
View3ds 0.077 - tiny viewer to .3ds and .asc files with several graphics
2
                effects implementation.
2
                effects implementation.
Line 3... Line 3...
3
 
3
 
4
What's new?
4
Whats new?
5
1. Detecting manifold chunks procedure based on kind of sorted pivot 
5
1. More divs elimination comparing to ver 0.076, - grd_cat.inc file.
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
6
2. Some 3ds object I have, reads with invalid normals - fixed.
10
    in few seconds on i5 2cond gen. Earlier such objects calculating was
7
3. Invalid submit edition bug - fixed. Smaller size of adjcent proc.
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
 
-
 
Line 25... Line 8...
25
	
8
4. Edges detection fix.
26
 
9
 
27
 
10
 
28
Buttons description:
11
Buttons description:
29
1.  rotary: choosing rotary axle: x, y, x+y, keys - for object translate
12
1.  rotary: choosing rotary axle: x, y, x+y, keys - for object custom rotate
30
    using keyboard.	 .
13
    using keyboard - keys <, >, PgUp, PgDown.
31
2.  shd. model: choosing shading model: flat, grd (smooth), env (spherical
14
2.  shd. model: choosing shading model: flat, grd (smooth), env (spherical
32
    environment mapping, bump (bump mapping), tex (texture mapping),
15
    environment mapping, bump (bump mapping), tex (texture mapping),
Line 38... Line 21...
38
3.  speed: idle, full.
21
3.  speed: idle, full.
39
4,5. zoom in, out: no comment.
22
4,5. zoom in, out: no comment.
40
6.  ray shadow: calc ray casted shadows.
23
6.  ray shadow: calc ray casted shadows.
41
7.  culling: backface culling on/ off.
24
7.  culling: backface culling on/ off.
42
8.  rand. light: Randomize 3 unlinear lights( so called Phong's illumination).
25
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
26
9.  blur: blur N times; N=0,1,2,3,4,5
44
10.11,12,13. loseless operations (rotary 90, 180 degrees).
27
10.11,12,13. loseless operations (rotary 90, 180 degrees).
45
12. emboss: Do emboss effect( flat bumps ), use 'bumps deep' button to do edges
28
12. emboss: Do emboss effect( flat bumps ), use 'bumps deep' button to do edges
46
     more deep.
29
     more deep.
47
13. fire: do motion blur ( looks like fire ).
30
13. fire: do motion blur ( looks like fire ).
48
14. move: changes meaning x,y,z +/- buttons  ->  obj: moving object, camr: moving
31
14. move: changes meaning x,y,z +/- buttons  ->  obj: moving object, camr: moving
Line 59... Line 42...
59
   vertex, Pressing  and moving left mouse button (cursor must be on handler)- change
42
    vertex, Pressing  and moving left mouse button (cursor must be on handler)- change
60
   vertex position. If left mouse button is released apply current position. You may also
43
    vertex position. If left mouse button is released apply current position. You may also
61
   decrease whole handlers count by enable culling (using appropriate button) - some
44
    decrease whole handlers count by enable culling (using appropriate button) - some
62
   back handlers become hidden.
45
    back handlers become hidden.
Line 63... Line 46...
63
 
46