kolibrios/programs/demos/view3ds
vitalkrilov 97e3188585 Fixed misuse of "/rd/1" (changed to "/sys") for some programs
git-svn-id: svn://kolibrios.org@9585 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-01-07 01:01:22 +00:00
..
3ds_objects
asc_objects
3dmath.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
3glass_tex.inc View3DS by macgub: bugfixes and new rendering model - ray casted shadows. Check Readme for more info. 2021-11-03 16:39:08 +00:00
3glass.inc View3DS by macgub: bugfixes and new rendering model - ray casted shadows. Check Readme for more info. 2021-11-03 16:39:08 +00:00
3r_phg.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
3ray_shd.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
3stencil.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
a_procs.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
asc.inc View3DS by macgub: bugfixes and new rendering model - ray casted shadows. Check Readme for more info. 2021-11-03 16:39:08 +00:00
b_procs.inc View3DS by macgub: bugfixes and new rendering model - ray casted shadows. Check Readme for more info. 2021-11-03 16:39:08 +00:00
bump_cat.inc View3DS by macgub: bugfixes and new rendering model - ray casted shadows. Check Readme for more info. 2021-11-03 16:39:08 +00:00
bump_tex.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
chunks.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
data.inc Fixed misuse of "/rd/1" (changed to "/sys") for some programs 2022-01-07 01:01:22 +00:00
flat_cat.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
grd_cat.inc View3DS by macgub: bugfixes and new rendering model - ray casted shadows. Check Readme for more info. 2021-11-03 16:39:08 +00:00
grd_line.inc
grd_tex.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
history.txt view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
readme.txt view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
tex_cat.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
Tupfile.lua
two_tex.inc view3ds 076 by macgub 2021-12-28 08:18:43 +00:00
view3ds.asm view3ds: fixed model generation by macgub 2021-12-29 12:42:48 +00:00

View3ds 0.076 - 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.

	


Buttons description:
1.  rotary: choosing rotary axle: x, y, x+y, keys - for object translate
    using keyboard.	 .
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),
    txgrd (texture mapping + smooth shading),  2tex (texture mapping + spherical
    environment mapping), bmap (bump + texture mapping),  cenv (cubic environment
    mapping), grdl (Gouraud lines - edges only), rphg (real Phong), glas (glass effect),
    ptex (real Phong + texturing + transparency).
3.  speed: idle, full.
4,5. zoom in, out: no comment.
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
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.
13. fire: do motion blur ( looks like fire ).
14. move: changes meaning x,y,z +/- buttons  ->  obj: moving object, camr: moving
      camera, wave: x,y +/- increase, decrease wave effect frequency and amplitude.
15. generate: Generates some objects: node, Thorn Crown, heart...
16. bumps: random, according to texture.
17. bumps deep -> create bumps deeper or lighter.
18. re-map tex -> re-map texture and bump map coordinates, to change spherical
     mapping  around axle use 'xchg' and 'mirror' buttons, then press 're-map tex' button.
19. bright + -> increase picture brightness.
20. bright - -> decrease picture brightness.
21. wav effect -> do effect based sine function.
22. editor -> setting editing option. If is "on" then red bars are draw according to each
   vertex, Pressing  and moving left mouse button (cursor must be on handler)- change
   vertex position. If left mouse button is released apply current position. You may also
   decrease whole handlers count by enable culling (using appropriate button) - some
   back handlers become hidden.

                         Maciej Guba             XII 2021