Subversion Repositories Kolibri OS

Rev

Rev 9512 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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.  
  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
  33.    structure - AABB (Axis Aligned Bounding Boxes).. but it is disabled
  34.    for now - seems to work incorrect(slow).
  35. ----------------------------------------------------------------------------------
  36.  
  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. -----------------------------------------------------------------------------------
  42.  
  43. View3ds 0.072 - march 2021
  44. 1. New displaying model - texturing with bilinear filtering and transparency
  45.     simultanusly. Note that filtering is done only inside polygon. To better
  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.
  49. 3. SSE3 version runs correct on SSE2 cpus, but real phong, glass and
  50.     transparented texturing with filtering rendering models are disabled.
  51. -----------------------------------------------------------------------------------
  52.  
  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.  
  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.  
  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.  
  76. View3ds 0.068 - XI 2016
  77. 1. Editing option - new 'editor' button.
  78. 2. For now I disable perspective correction, to make implemtation
  79.    of editing option easier.
  80. -----------------------------------------------------------------------------------
  81.  
  82. View3ds 0.067 - XI 2016
  83. 1. Sizable app window.
  84. -----------------------------------------------------------------------------------
  85.  
  86. View3ds 0,066 - X 2016
  87. 1. App window size according to current screen resolution.
  88. 2. New emboss procedure.
  89. -----------------------------------------------------------------------------------
  90.  
  91. View3ds 0.065 - Feb 2015
  92. 1. Asc files support.
  93. -----------------------------------------------------------------------------------
  94.  
  95. View3ds 0.064 - Nov 2012
  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.  
  108. View3ds 0.061 - Nov 2011.
  109. 1. Two new buttons to increase and decrease brightness.
  110. -----------------------------------------------------------------------------------
  111.  
  112. View3ds 0.060 - Aug 2011.
  113. 1. Header fix by Leency.
  114. 2. SSE2 optimizations by me. (Most visable in BUMP_TEX mode.)
  115. -----------------------------------------------------------------------------------
  116.  
  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.
  125. 1. Blur function optimization on SSE and SSE2 (buttons 'blur' and 'fire').
  126. -----------------------------------------------------------------------------------
  127.  
  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.  
  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 )
  185. 3. Color position depend drawing model  instead spot light ( I hope,spot light come
  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.