flat assembler
Message board for the users of flat assembler.

Index > Windows > win3ds

Goto page Previous  1, 2, 3, 4, 5, 6  Next
Author
Thread Post new topic Reply to topic
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 17 Apr 2021, 10:19
Former times I read an article described how achive graphicc in poor ascii text mode. Author suggest do it by programming character generator. It allows making exact 'per pixel' graphics with 16 colors, still being in text mode. (This time it were DOS times).

BTW My ostrich scene (presented on screenshot to last ver28 ) was fully made in win3ds app. I hope you like it. Very Happy
Post 17 Apr 2021, 10:19
View user's profile Send private message Visit poster's website Reply with quote
idle



Joined: 06 Jan 2011
Posts: 440
Location: Ukraine
idle 17 Apr 2021, 10:45
Of course i do!
One day (after i set up my life to better mode, hahaa self irony)... ok, you know).
Cool!
Post 17 Apr 2021, 10:45
View user's profile Send private message Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 09 Nov 2021, 15:07
Hi!
Version 29 is out.

Quote:

What's new in version 29?
1. Saving chunks id to separate file. Each triangle has adjacent
chunk id. Saving under 'save obj.' button. This button saves
also object in 3ds and asc format. File name is 'chunks.bin'.
2. Separate button called 'Ray shadows', to perform ray casted
shadows. When this button is marked 'on', ray casted image
is: first - calculated, next after them computed image is
displayed. Pressing once again this button, and set 'off' -
"normal" rendering mode with rotation come back.
3. Searching for internal vertices option. 'Mark in vr' button
perform this option.
4. Button 'Rm TIV NIE' - removing triangles with internal vertices
and non intersected edges with any other triangle. By internal
vertices I mean vertices that coordinates are in closed volume
inside 3d object. Before performing this option search for
collided edges (button 'Ma Coll Ed' set 'on') and search for
internal vertices (button 'Mark in vr' set 'on'). This
'Rm TIV NIE' option simplified and clean object.
5. 'Tes TIV IE' button - teslating triangles with inside vertices
and without intersecting edges. Buttons 'Ma Coll Ed' and
'Mark in vr' must be set 'on'.
6. 'Rm cracks' button - remove cracks. After teslation of chosen
area of object (not whole} wrong declared triangles in
triangles net may take place such unneeded artifact: Along
edge is an vertex thats only touch edge but is not possesed
by this edge. Routine adjacent to this button cure this
situation. Only verts thats are in the middle are computed;
This proc is launched after each tesalting procs, but
sometimes need to be repeated when numeric errors arise.
Its not needed when not part, but whole object is teslated.
I have some ideas how to improve this routine. (Or rather
whole rewrite from scratch).
7. Loading chunks from 3ds file. Chunks are counted. Button
'Show chunk' perform displaying bars which color is unique to
every chunk. User may invert sense of normal vectors or
delete whole chunk triangles and vertices using 'Invert chn'
and 'Del. chunk' buttons. Triangles, vertices and edges
parameters are calculated after each using. (May take some
time).



Maciej Guba, November 2021.
Enjoy !


http://macgub.co.pl


Last edited by macgub on 09 Dec 2021, 17:32; edited 1 time in total
Post 09 Nov 2021, 15:07
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 09 Dec 2021, 17:30
Hi!!
ver 30
whats new wrote:
Code:
What's new in version 30?

1. New detecting manifold chunks procedure and based
    on it, new calculating normal vectors proc. This new
    routine shows how good algo can improve performance.
    On my i5 2cond gen earlier I wait abaut 15 minutes, 
    or longer to load object contains ~500000 vertices and
    ~700000 faces. Now its done in few seconds. This
    shows me future way to go to.
2. Sizable app window.


                                  Maciej Guba, December 2021.
                                  Enjoy ! 
    

I attach screenshot to display new features. (Quite big object loaded. Object made not by me.)

edit:
To download ver 30 visit my page..


Description:
Filesize: 80.85 KB
Viewed: 8802 Time(s)

win3ds30.png




Last edited by macgub on 25 Feb 2022, 16:50; edited 1 time in total
Post 09 Dec 2021, 17:30
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 25 Feb 2022, 16:48
Hey !!
New version of my app. Maybye someone intrested...
Quote:



What's new in version 31?

1. New function for merge vertices (remove redundand) from teslate area.
Setting teslate area - 'set t.area' button. Merge - 'Rm red ver' button -
remove redundand vertices.
2. Button 'Z redu care' for merge vertices options. Take care about Z
coord when merge is launched. (off/on) options are avialable.
3. Executbale file not included in package. I get infecetd on some malware -
- vir sets all files and directoriies from usb sticks attribute to "hidden"
and "system". If you get sick: - To reset this attributes use "attrib -S -H z: /D" command.
In z: place insert letter of infected drive.
To get executables compile win3ds31.asm file from /src directory.
4. New teslation from selected teslate area function. (use 't&d wh|pos' button
to select if all triangles or only triangles with positiv Z coeficient of normal
vector will be teslated and 'Tes Wh/Tar' button to select if whole object
or only from selected teslate area will be teslated (use first 'whol' and
second 'Whol' and hit 'do triang' button a few times - will fast produce object
~1000000/~1500000 vertices, some side opperations will be avoid...))
5. Bit polished edges calculating function. (Bug of inaccurate deteting if edge
possesed only by one triangle was on the end). This fix allow properly teslate
some objects - bug in previous versions.
6. Bit fixed flat shading function.
7. Merge verts, teslate, calculate chunks, remove unused verts functions based
on sorted pivot tables. I use qsort function on previously mixed list to sort -
this allow fast work on big objects.



Maciej Guba, Feb 2022.
Enjoy !


To download visit my page..


Last edited by macgub on 07 May 2022, 12:50; edited 2 times in total
Post 25 Feb 2022, 16:48
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 06 May 2022, 15:26
Hi!
Quote:

What's new in version 32?

At first thanks all who use my app. I think this people must have many
of patience and lenency for my soft and for me. Sorry all that it crashes,
hang, works slow and other annoying disturbing situations.


1. For full functions app use sse4. On sse3 cpus some functions are disabled.
I prepare sse2 version for old fashioned people. App is windows XP+.
I tested executables on my see2, sse3 and sse4+ machines.

2. Fixing normal vectors posibility - Do random rotary
and parallel projection two times with disabled and enabled backface
culling. Triangles that was rendered first time and not second time
have non correct sense of normal vector. (Render operation is performed
only in iside memory area, non displayed on screen.) Pressing a few
times this button make posible cure mismatched sense of normal vectors.

3. Possibility for scale freshly joined object (M key), only along X and Y axis.
First set 'NextM edit' button 'on' and use mouse and its left button and move
green bar displayed on /edit area/.

4. I rewrite some 'shame' FPU only procs - (calculating colors buffer, doing
environment mapping).

5. Less branches on triangles proc (3flat_f, 3stencil). This allow faster
performing 'remove inside faces' and 'mark inner vertices' options. They
run using many cpu cores. 'rm inside fac' on up to 4 cores, 'mrk in vert'
up to 16 cores (I limit used cores count because every core use some
amount of ram witch is limited for 32bits app) ,but I tested it only on
4 cores so bugs may occur..

6. I tried bmp, pcx basic load ('X' key) -- very buggy.

7. I made texture mapping +/- posibility.

8. Posibility to clone/copy current object. Such clone has increased
'x' coordinate, this value can be set throug 'set ap tol' button, according
to appropiate flag.

9. I extended bit informations about user interface.. (readme.txt file)


I attach some objects in (3ds format), I done in win32ds app. Its Easter scene and some chip visulization.


Maciej Guba, May 2022.

Edit: link to executables. Check for malware!!
http://macgub.co.pl/win/win3ds/32/win3ds32b_exe.zip
Edit2:
Bit changed version, will work nice in windows 10. Cleaned bump_tex triangle rendering procedure, less branches and divisions.. I renew bit app UI descripition (readme.txt)...

sources - http://macgub.co.pl/win/win3ds/32/win3ds32b.zip


Description: chip..
Filesize: 16.07 KB
Viewed: 7777 Time(s)

chip.png




Last edited by macgub on 15 Oct 2022, 13:14; edited 1 time in total
Post 06 May 2022, 15:26
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 15 Oct 2022, 13:12
hey !

Quote:


What's new in version 33?

1. I try unify first stage of some rendering triangle functions -
(first sorting triangle cooef, two loops of horizontal line calling).
For real Phong based functions first phase resides in glass_tex.inc file,
for some others in bump_tex.inc file.
2. In real Phong lighting model based functions, in case it contains texturing
component I pass tex params as floats. All RP but peeling function have this
feature.
3. I add sort chunks button. It performs chunks sorting, and preparing some
chunks info struct - contains max, min, middle of vertices, whole triangles
number in chunk.
4. I renew removing cracks proc. Now dont destroyed manifold structure of object,
works faster.
5. I add editing separate chunks posibility (rotate, scale, translate/move in x,
y and z direction).
6. I renew teslate triangles with at last one collided edge and at last on inside
vertex procedure.
7. Old bug - non correct generating long pipes was removed.
9. I abandon pcx texture using (routines by Thomas Matys) - it is GPLed, and
I for know release my app without licence - I dont took right, definitive
decision about it.
9. Besides above I tried made some refractoring code cleaning effort..


Knowed bugs/release info:

1. App don't display shadows in point light rendering model.
2. 'Z' coord problems in flat - integer Z model. I think all
this model procs are to throw out - its redundant (even worse)
comparing to flat with float z interpolation model.
3. Displaying normal vectors - not works in all displaying models.
4. App is unstable - it may crash in any time - be ready..




My applications, documents I generate; perhaps knowledge (still tiny
comparing to most people) about programming, rendering 3d; is based
on work, repeating, rethinking about some aspects I am busy. I dont
know if large amount of people are intrested in reading, using this
garbage. Anyway, I hope, at last few people get something good
from my stuff...


Maciej Guba, October 2022.
edit:
- to download visit - http://macgub.co.pl


Last edited by macgub on 26 Nov 2022, 15:02; edited 1 time in total
Post 15 Oct 2022, 13:12
View user's profile Send private message Visit poster's website Reply with quote
Roman



Joined: 21 Apr 2012
Posts: 1766
Roman 18 Nov 2022, 17:59
macgub
Do you have asm code intersection 3d sphere with plane or triangle ?
With plane normal.
Post 18 Nov 2022, 17:59
View user's profile Send private message Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 20 Nov 2022, 13:12
Hi!
Only triangle intersection procedure is included in win3ds sources. Triangle - edge to be precise.

For ray - sphere - check http://macgub.co.pl/menuet/ray01.zip
Its demo for MenuetOS and KolibriOS, but I dont know it will be usefull for you. From my point of view, its hard to isolate appropiate code from this stuff, albeit I created it - its my own... (some bit shame code Wink ).

Best regards!
Post 20 Nov 2022, 13:12
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 26 Nov 2022, 15:01
Hi!
New version - to download if someone intrested..


Quote:

What's new in version 34?

1. I introduce selected chunk 'bend' edition posibility.

2. I add possibility to mirror reflection (according x axis)
of selected manifold chunk.

3. I tried introduce some optimizing object work. Attempt
perform situation - every chunk will have sorted,
coninuus part in vertices list. (Under 'sort chunks'
button). - not yet its disabled...

4. Now texture coordinates passed to peeling procedure
(weighted sorted transparency) are float.

5. I introduce new procedural generated 3d mesh - under
'cur object' button- need furnish...

6. I remove some previus (33) version bugs - non correct
motion blurr, non rendered shadows in corresponding
render model.

8. I done more refractoring, cleaning code work. So I tried,
unify edition routines - universal 'edit_particle_no'
variable. It describes vertex, face, edge, chunks, pipe
derives index No. I unify edition submitting, some
triangles first step calling, decrease size of loops
and other minor changes.

9. I assume that best testing soft is using it. So try done
a few meshes, add new options I currently need. I gives
me some fun and makes detect and isolate some bugs easier.
I done one ilustrated pdf to describe, how I build one of
this 3d objects..

Maciej - Nov 2022



edit - I delete attachments, add links..

http://macgub.co.pl/win/win3ds/34/smiled_face.zip
An ilustrated pdf - story how I build 'smiled face' mesh, and this mesh I mentioned..

http://macgub.co.pl/win/win3ds/34/win3ds34.zip
Sources, some 3d models craeated in my app - winter scene and an 'smiled egg', some info about user interface...


Last edited by macgub on 04 Feb 2023, 17:29; edited 1 time in total
Post 26 Nov 2022, 15:01
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 04 Feb 2023, 17:25
Hi!
I have prepared new version, maybye somone want take a look...

whatsnew.txt wrote:
Code:
What's new in version 35?
1. More refractoring work - split fist step of gouraud
   based triangle functions (sorting cooeficientes, delta
   calculating, two calling loops) into one. See files
   3grd_tex.inc and 3grd_cat.inc.

2. I unify call routines to all 4 threads rendering
   models - (real Phong based procedures, and ray casted
   shadows procedure).

3. At start program detect vertical resolution -
   if it's below 900 pixels right side menu (buttons,
   info area, "Next edit" area) height is shrinked.

4. I delete 3flat_cat.inc file (contains flat shading
   procedure with integer Z coordinate interpolation).
   Its redundand.

5. Now flat shadows on textured background are avialable
   in every rendering model. ("Shadows" button.)

6. I increase "Next edit" edition posibilities - so bend,
   xyz/xy scale, rotating avialable in modes - freshly
   joined (M key) next object, separate chunk and whole
   object. Use "NextM edit"  menu button.

7. Now saved files 3ds, asc, chunks binary formats have
   letter from 'A' to 'Z' in its name. Value is increased
   - when 'Z' letter is achived  next 'A' is switched.

8. Attempt to write to 3ds files objects above 65536
   vertices and triangles. In that cause single chunk
   should not exceed 65535 elements - otherwise will be
   clipped. This new save feature is very buggy. If
   object has below 2^16 elements - old saving method
   is performed after pressing 'save obj.' button.

9. 'FFD' button - allow free form deformation based on
   single Bezier patch.

10. I tried improve manual -> see appropriate pdf.
    

Maciej

edit - I delete attachments, add link..
http://macgub.co.pl/win/win3ds/35/win3ds35.zip - link to
sources, example 3ds models, pdf with short manual, .


Last edited by macgub on 24 Apr 2023, 19:09; edited 2 times in total
Post 04 Feb 2023, 17:25
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 24 Apr 2023, 19:05
Hi!
Some polished version. I called it 36. For everyone yet not bored with my application..

quote from whatsnew file:

Quote:

What's new in version 36?


1. Possibility of Bezier volume free form deformation.
I done it through kind of tensor product..

2. Option to switch on/off bumps in two real Phong based
rendering models.

3. Changes in all lines drawing procs (plain, smooth shaded,
textured) - all used Pablo Redas mechanism (thanks a
lot!!) + clipping + all without MMX.

4. Option for apply one patch free form deformation on selected
manifold chunk of object.

5. Option allow display valence edges - (work not correct -
- I will chase bugs..)

6. Possibility to deformate object according to normal vectors
of joined /next/ mesh. Use M key to load..

7. I took attempt for making animated fog and search for
shadows using cones - yet disabled..

8. I disable tea artefacts assembled using Bezier patches.
(buggy routines - I am going to spare anger of app user).

9. Bug fixing, code cleaning...

10. I made tutorial - contains some chunks editing description.

Maciej, April 2023



http://macgub.co.pl/win/win3ds/36/chunks-edit-tutorial.pdf - link to tutorial about manifold chunk edition..


edit: - Sahdow fix to spare annoying of user...
Sorry all, who waste their time and download old version...

http://macgub.co.pl/win/win3ds/36/readme.pdf - documentation/manual

http://macgub.co.pl/win/win3ds/36/win3ds36b.zip - sources, some new object.. Fixes


Last edited by macgub on 23 Jul 2023, 16:14; edited 3 times in total
Post 24 Apr 2023, 19:05
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 26 Apr 2023, 12:15
On picture I attached to this post is visable my work, I done using version 36 of app. Most diificult was for me bunny's ears. I manipulate on some primitive using new ffd volume cage modificator, based on 4 Bezier patches ....

The same primtive I use for rabbit puffs...
Razz


Description:
Filesize: 82.71 KB
Viewed: 5507 Time(s)

krolik.jpg


Post 26 Apr 2023, 12:15
View user's profile Send private message Visit poster's website Reply with quote
3D_FASM



Joined: 11 May 2023
Posts: 24
3D_FASM 23 May 2023, 09:01
Huge work. You have everything to create a software graphics engine for Assembly x86 as library.
Post 23 May 2023, 09:01
View user's profile Send private message Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 25 May 2023, 09:07
Thanks !!
In fact I use only few OS dependent invokes.... But many people help me to do my graphics work. I only bit expand/recreate some ideas.. Some ideas are from me - but as I read released documents - many people has similar ideas much earlier and much more expanded...
Post 25 May 2023, 09:07
View user's profile Send private message Visit poster's website Reply with quote
NETSTALKER



Joined: 17 Apr 2020
Posts: 10
Location: fidonet
NETSTALKER 27 May 2023, 16:21
I have been watching your work for many years. I like it. But I don't understand why you don't use a graphics card in graphics calculations. OpenGL, DirectX, Vulkan exist especially for you.
Post 27 May 2023, 16:21
View user's profile Send private message Reply with quote
3D_FASM



Joined: 11 May 2023
Posts: 24
3D_FASM 27 May 2023, 20:42
My opinion. Working with OpenGL, DirectX, Vulkan you work with the 3d library. If you write a software engine, you kind of write the code that is in the processor in the video card (rasterizer) and OpenGL, DirectX, Vulkan together. Those. this is another more thorough level of knowledge of 3d graphics.
Post 27 May 2023, 20:42
View user's profile Send private message Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 28 May 2023, 05:34
NETSTALKER wrote:
I have been watching your work for many years. I like it. But I don't understand why you don't use a graphics card in graphics calculations. OpenGL, DirectX, Vulkan exist especially for you.

Its easier to port for ex. Linux frame buffer or for other uncommon project like MenuetOS, SigmaOS...
But you are right - I dont use OpenGL, DirectX, Vulkan - Why? - Its mystery for me - Laziness? Question
Post 28 May 2023, 05:34
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 23 Jul 2023, 16:09
version 37

release notes:
Quote:

whats new/release 37 notes..

1. I throw out first stage Grouraud triangles intial steps -
- (sorting cooefs, two calling horizontal line loops)..
2. I tried extend chunks editing - Bezier cage and pararell
ffd deformation and /Next editing/ - using colored bars..
3. I change a bit files names nomenclature. So - triangles render
models - horizontal line only -> begin from '2';
files contains both: First stage loops and horizontal
lines rendering procs - name begin from '3'.
4. Bezier patches artifact work ++.. still need furnish...
5. I throw out plain line redundant proc..
6. 2fur procedure corrections (without MMX regs).
7. Next variables copying at start.. (tiny change)..
8. New reverse matrix procedure and corrections of environment
calling this rewrited proc.
9. New make matrix procedure..
11. Bezier / spline curves code shrinked....
12. Throw out: two_tex, plain_bump, plain tex procs.
Features moved to bump_tex proc..
12. New bilnear filter in grd_tex displaying/rendering model
(pmaddwd based) ..
13. Bug detected - triangulation of tris with positive 'z' norm
cooef not work - removed...
14. Plain Gouraud triangle - I throw out - features in
'2tex_grd.inc' file....
15. Lines proc changes rcpps instead idiv ...
16. Bilinear filtering (float sse based) routines in (Real
Phongs models) isolated as separate procedure...
17. New rem_unused_vert proc - removes unsed 32 bit indices
of verts - faster - allow faster working opt_chunks proc.
18. New calculating edges proc - now it makes chunks-edges struct
- desc of every chunks from edges point of view ...
19. Saving object to file in .stl format .. various 3rd part apps
import it properly..
20. New calc vertices normal vectors proc - simplified...
21. I took atempt to save object into 'off' files - smaller in size
than 'asc'.. I plan make something that MeshLab accept - no luck
for now ..
21. I introduce new button - 'Chun opers' - button allow processing
some operttions chunks related, so
- invert normal vectors (clockwise - non clockwise directions
of declared vertices in tris description),
- tesselate of whole chunk,
- mirror chunk according to 'Y' axle...
- merge vertices from selected chunk - 'aprox tolerancy' button
value determines how much near verts should be,
'dsp factor' button - determines tolerancy of normal
vectors - very buggy ..

22. Shrinked binary... ~ 89 kb ver 36 <=> ~ 84 kb ver 37

23. Merge all vertices - works in 'check normal vectors mode' ..
Button 'aprox tolerancy' its value determines how much near verts
should be, butt 'dsp factor' - determines tolerancy of normal
vectors ..


Test with care - Maciej, Jul 2023

http://macgub.co.pl/win/win3ds/37/37manual.pdf
http://macgub.co.pl/win/win3ds/37/win3ds37.zip - sources, example mesh

edit - I delete attachments, add links..


Last edited by macgub on 12 Sep 2023, 11:07; edited 1 time in total
Post 23 Jul 2023, 16:09
View user's profile Send private message Visit poster's website Reply with quote
macgub



Joined: 11 Jan 2006
Posts: 346
Location: Poland
macgub 31 Aug 2023, 12:39
Hi!
I decide to post some images with objects I made/remade recently in my app... I hope you take a look and became happier for just a piece of time (or more) .......
Very Happy


Description:
Filesize: 193.75 KB
Viewed: 3951 Time(s)

face.jpg


Description:
Filesize: 63.68 KB
Viewed: 3951 Time(s)

cat.jpg


Post 31 Aug 2023, 12:39
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4, 5, 6  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.