1. 3d texture mapping.

------=_NextPart_000_cef194d_18e0d1f8$7b1decd1
Content-type: text/plain

Here's the start of my work on 3d texture mapping.

It's an affine triangle renderer. But it needs optimizing, and needs
to be done in assembly. It also needs to be made into a library rather
than a program.

Tpoly.ex demonstrates a rotating triangle.
Tpoly2.ex is the same program, but the points move around randomly.

I'll probably be working more on this after I've finished my current
game project which should be ready for a demo release within 1-3
weeks.

-Mark.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
------=_NextPart_000_cef194d_18e0d1f8$7b1decd1

new topic     » topic index » view message » categorize

2. Re: 3d texture mapping.

!!!!!

Mark, this is incredible. I'm truly impressed! grin

I recently bought "The Black Art of 3D Game Programming", and the =
section on textures, simple as it was, was still giving me trouble. You =
have NO idea how big a help this code will be in helping me understand =
the concepts.

Hmmm... if you're going to be continuing at this rate, I think I can now =
turn my attention to other things besides 3D graphics. blink

Keep up the good work!


Rod Jackson

----------
From:   Mark Honnor[SMTP:nitrogen_069 at hotmail.com]
Sent:   Thursday, April 22, 1999 6:44 PM
To:     EUPHORIA at LISTSERV.MUOHIO.EDU
Subject:        3d texture mapping.

<<File: affine.zip>>
Here's the start of my work on 3d texture mapping.

It's an affine triangle renderer. But it needs optimizing, and needs
to be done in assembly. It also needs to be made into a library rather
than a program.

Tpoly.ex demonstrates a rotating triangle.
Tpoly2.ex is the same program, but the points move around randomly.

I'll probably be working more on this after I've finished my current
game project which should be ready for a demo release within 1-3
weeks.

-Mark.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: 3d texture mapping.

> Hmmm... if you're going to be continuing at this rate, I think I can now
> turn my attention to other things besides 3D graphics. blink
> Keep up the good work!

> Rod Jackson


Don't forget that polygon texture mapping is only a small part of 3d
graphics. You also need 3d object manipulation, level drawing, which
requires more than just triangle drawing, and quite a lot of other stuff.
What I've made is only a start. But atleast it's something we can easily
make 3d objects out of triangles. And I'm glad I got it working, that's
about the 5th atempt at drawing polygons I've made.

I've got some idea how to change that code so it will be perspective
correct, but that's not on my "to do" list at the moment.

I'm currently working on quite a big game project which takes up most of my
time, and even if i start working on a 3d engine full time it'd still take a
very long time to finish it. it probably wouldn't take too long to build a
program that can display an animated polygon model tho.

-Mark

new topic     » goto parent     » topic index » view message » categorize

4. Re: 3d texture mapping.

Don't forget most programs today use "Language" based engines.  The easiest
example of this is Quake and its language QuakeC (as i indicates is a C like
language).  This allows you to only compile a small amount of code to
control EVERYTHING.  In Quake this allows you to change the behaviors of
weapons, monsters, doors, etc.  For more info on this visit
http://gibbed.gameaholic.com and visit their quakec section.  Or for a more
indepth explanation email me.

Adam Weeden

new topic     » goto parent     » topic index » view message » categorize

5. Re: 3d texture mapping.

Mark wrote:
>> Hmmm... if you're going to be continuing at this rate, I think I can now
>> turn my attention to other things besides 3D graphics. blink
>> Keep up the good work!
>
>> Rod Jackson
>
>
>Don't forget that polygon texture mapping is only a small part of 3d
>graphics. You also need 3d object manipulation, level drawing, which
>requires more than just triangle drawing, and quite a lot of other stuff.
>What I've made is only a start. But atleast it's something we can easily
>make 3d objects out of triangles. And I'm glad I got it working, that's
>about the 5th atempt at drawing polygons I've made.

Well, it's a good start!

By the way, not to promote myself or anything, but have you
taken a look at the 3D classes I posted? I think you might be
able to easily modify some of the code to handle polygons of
your structure. The routines allow construction and simple
manipulation of entire 3D objects (and even speed things up a
little by eliminating "shared" vertices). I'm currently using
them to (quickly blink ) whip up some rotating objects, kind of
testing out my 3D-art skills. It's dog slow, and not as
fancy-looking as a single textured polygon, but it works! (I
guess adding documenation might help though; I'll jump on
that...)

>I've got some idea how to change that code so it will be perspective
>correct, but that's not on my "to do" list at the moment.

Understood. From what I gather, perspective-correct textures
aren't really seen as that big a deal anyway (although I
certainly understand the urge to do it all "the right way".)

>I'm currently working on quite a big game project which takes up most of my
>time, and even if i start working on a 3d engine full time it'd still take a
>very long time to finish it. it probably wouldn't take too long to build a
>program that can display an animated polygon model tho.

I'm looking forward to both projects.


Rod Jackson

new topic     » goto parent     » topic index » view message » categorize

6. Re: 3d texture mapping.

Thanx Mark!

I took a look at your tmap demo, it's very impressive !
Now I'm working on a little .3DS reader, can I use your procedure to display
?

Gwen

new topic     » goto parent     » topic index » view message » categorize

7. Re: 3d texture mapping.

> Thanx Mark!
> I took a look at your tmap demo, it's very impressive !
> Now I'm working on a little .3DS reader, can I use your
> procedure to display?
> Gwen

Sure, if you can work it out. It's pretty slow too, at the moment.

It's not too bad, you just have to work out how to construct a polygon.

First 3 elements are the actual <x,y,z> co-ordinates of the triangle.
The next 3 elements are the <x,y> texture co-ordinates.
The 7th element is info on the texture in the form {address,width,height}.
address is where in memory the texture is stored, and width and height are
obvious.

The results are drawn to virtual_screen. which should be then copied to the
real screen. It could be modified to use the normal pixel() command, but
that'd be even slower. I could make a version to do this if you want one.

-Mark.

new topic     » goto parent     » topic index » view message » categorize

8. Re: 3d texture mapping.

------=_NextPart_000_000F_01BE910E.E3E41D60
        charset="iso-8859-1"

Hi,

The attached demo was provoked by the people who went ga-ga when
they saw a puny triangle jerking around recently..blink

It is pretty crude, hastily cobbled together from shreds of code I
threw at you a year or two ago (but you wisely ignored it). It can
certainly be made a lot faster with just a bit more effort, but right
now I have no time to play with it.

Btw, you will need a reasonably fast machine for the demo. I get only
about 7 fps on my old 486 and about 50 fps on a 233 MHz PII. But you
can use it to map just about any polygon from within the texture
sequence on to just about any other polygon, as long as the number of
vertices is the same. The mapping routine itself is roughly linear at
the moment, but you can fetch my old scaling tools from the Archives
and replace it with anything you fancy. Enjoy the distortions!

I confidently expect it will be expropriated by someone by the time I
get back in early in July, but I would rather prefer to see the
critical bits converted to assembly by somebody who knows what s/he
is doing (Nick?). Then we can all have fun. cu later. jiri



------=_NextPart_000_000F_01BE910E.E3E41D60
        name="Map.zip"

new topic     » goto parent     » topic index » view message » categorize

9. Re: 3d texture mapping.

???!!!

You've been sitting on this thing for over a year? And with all of the =
recent 3D threads you haven't said anything until now?! If it wasn't a =
free society, I'd call that criminal! blink

I haven't had a chance to run it yet, but it looks pretty solid; the =
ability to map any polygon to any other polygon sounds nice.

And more source code to digest... mmm! Thanks for sharing!


Rod Jackson

----------
From:   jiri babor[SMTP:jbabor at PARADISE.NET.NZ]
Sent:   Tuesday, April 27, 1999 7:34 AM
To:     EUPHORIA at LISTSERV.MUOHIO.EDU
Subject:        Re: 3d texture mapping.

<<File: Map.zip>>
Hi,

The attached demo was provoked by the people who went ga-ga when
they saw a puny triangle jerking around recently..blink

It is pretty crude, hastily cobbled together from shreds of code I
threw at you a year or two ago (but you wisely ignored it). It can
certainly be made a lot faster with just a bit more effort, but right
now I have no time to play with it.

Btw, you will need a reasonably fast machine for the demo. I get only
about 7 fps on my old 486 and about 50 fps on a 233 MHz PII. But you
can use it to map just about any polygon from within the texture
sequence on to just about any other polygon, as long as the number of
vertices is the same. The mapping routine itself is roughly linear at
the moment, but you can fetch my old scaling tools from the Archives
and replace it with anything you fancy. Enjoy the distortions!

I confidently expect it will be expropriated by someone by the time I
get back in early in July, but I would rather prefer to see the
critical bits converted to assembly by somebody who knows what s/he
is doing (Nick?). Then we can all have fun. cu later. jiri

new topic     » goto parent     » topic index » view message » categorize

10. Re: 3d texture mapping.

Content-type: text/plain; charset=us-ascii
Content-Disposition: inline




Dear 3d texture fanciers,

I have just re-written the space function in my map.e. Since it almost
doubles the frame rate, especially for larger images, you might just as
well have it too. ( Running the tumbling twit demo, I get now about
130 fps on 266 MHz PII under NT 4.0.)  Enjoy. jiri


A note to potential meddlers:

The map routines can be improved in many ways, but the most obvious
target is the space() function. Its quality is strongly reflected in
the quality of the the final image and its speed dominates the speed
of the transformation. It is used repeatedly: to calculate the
intersections of scanlines with the sides of the polygon, and then
again to interpolate along each scanline to get x and y values for
the texture.

The function can be attacked in several ways. Firstly, it can be
itself clearly optimized. Secondly, since most of the data it
processes is essentially static (e.g. the texture), at least some of
the results can be precalculated and accessed relatively quickly from
indexed tables. But the best alternative, I think, would be to code it
in assembly - come on, it's only a very simple function! ;)

And if you can do that while I am away, the 'DOOM' merchants will have
a tool to help them realize there is much more to a good game than a
slick 3-d engine. jiri
(See attached file: Map.e)

Content-type: application/octet-stream;
        name="Map.e"

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu