What does the code do? This demo supports:
- loading 3dstudio ase files
- rotate the objects
- sort polygons (in z order)
- draw textured polygons (24 bit color)
- 3d rendering with environment mapping
How do I integrate it with my existing code or how do I use it?
to run this sample:
compile and run =)
project1 is a sample projet that uses the 3dfunctions in project2. Any user could just make a reference to project 2 and add the nessesary api calls to ther project (the api calls needed is in project1.module1) there is comments in project1.form1 how to get your graphic into the arrays you need to use.
How to use:
declare the api calls needed to get and set bitmap data.
(this is done in project1.module1.general_declarations)
get the texture bitmap data into your texture array
(this is done with the getdibits api... comments are in project1.form1_formload)
set the size of the backbuffer
create an object of the type "vector"
use .loadfile to load a "ase" file and pass a zoom factor
use .rotate to rotate the object x,y,z radians
use .draw to draw the object to a long/rgbquad array containing the backbuffer data
set the backbufferdata to the picturebox that is to display the result
(this is done with the setdibits api... comments are in project1.form1_formload)
Methods of the vector class:
takes 2 params . filename (to a ase file) and zoom_factor
takes 2 params . texture,canvas (both are long/rgbquad arrays)
takes 3 params . x,y,z rotation of the object