AA quality differences

Hmm, I think you lost me on both accounts there -

So your saying each point has it's own coordinate that the renderer uses? And that would mean that, in the example I gave above, it wouldn't matter that the coordinates of the entire tree is closer to the camera... what matters is that the individual points of the branch are extending behind those of the other, 'furthar' tree?

Also, I'm not sure why you would need texture coordinates or object coordinates for rendering... what would the difference be in using these versus world coords for rendering?

Also - I'm not sure what your saying about the triangulated polys. What is a caller, what is a subfunction, what is a root function, and what is a primary function?
 
Hmm, I think you lost me on both accounts there -

One of the various reasons why I don't teach for a living, hehe.

So your saying each point has it's own coordinate that the renderer uses? And that would mean that, in the example I gave above, it wouldn't matter that the coordinates of the entire tree is closer to the camera... what matters is that the individual points of the branch are extending behind those of the other, 'further' tree?

Right. Briefly...
Yeah. The 3D world space is described as x,y,z coords.
Those are visible in the Coords Manager as you know.
What I was explaining earlier about the cube being the closer object was to explain, using basic shapes, what was happening with antialiasing.


Having got by that...
really what your after is the closest polygon regardless of what object it belongs to, correct.
Objects are ofcourse made up of polygons, so that's what you really intercepting, 'polygons' on the object.

Also, I'm not sure why you would need texture coordinates or object coordinates for rendering... what would the difference be in using these versus world coords for rendering?

Well, really your getting into programming tech stuff, and while I'm not an expert, I'll carry it as far as I can. This stuff isn't required knowledge to use 3D programs, except maybe in explaining your original first post question.

To answer your question though, your basic calculations begin in world space, where objects and you camera are.
You ask a question: "Are they in the cone of vision"? Yes, okay bounce a beam off the object in question , does it hit within a rough area? Yes? Okay, test again, does it hit a polygon on that object? Yes, okay, where does it hit? Remember those coords, and for the sake of discussion, calculate and remember the distance to where it hit.

Continue testing all other objects, once done, decide which polygon was the closest.

So now we know which poly is closest and given that we know which object we hit, we know the texture that belongs to it. That point on the poly that the ray hit has a color. What is the color?

The only way to know that is to look up what the texture's name is that was assigned to that portion of the object.
But your texture is, say, a 256 X 256 picture with Cubic Projection assigned to the model.
So, nowwww, you have to do further calculations to determine how it is mapped onto the model, which brings you to having to convert to Object Space...ect..to figure out the point on the texture that matches the point on the polygon.

Its a step by step thing, ask a yes/no question and stop or continue breaking down the problem as you go.

I can talk about this for years man. I hope some of it is making sense though, hehe. If any other programmers would like to jump in, man, do it.
 
Last edited:
Raptor you rock!

I'm totally new on the 3D ray programming arena, but as far as I know, to follow on from Raptor, the world space co-ords need to be eventually converted to 2d screen co-ordinates (perspective mapping, this is 2d rasterazation...), methods such as back face culling and LOD are used to cut down the amount of computation needed (why render what you never see?)

Of course there are many many different algorithms out there, I think render man(tm) uses a different approach (REYES as opposed to ray tracing) which in a nutshell dynamically sub divides regions (eg curved surfaces) into micro polygons (sub pixel accuracy), and also uses procedural shades (as opposed to texture look up tables)

http://en.wikipedia.org/wiki/Reyes_rendering *

* ps that technology is probably quite old school now, but still good to know I think


Anhar
 
Anhar, good to see you man. Yeah, I'm still a fan of that old school Frog Engine code. The old school software method. Do it all with the math approach. The best way to understand it all.

Ol John Carmack, hehe. He could crush me with his baby toe. I was just thinking about him before I came back here. He was my inspiration when I started programming.

Yeah, if anyone wants to continue talking gaming code, for something to do even, I still have tons to talk about. Collision detection was always a pain. Structs, Carmack had some cool ideas with his approaches. Rendering code is cool. I can post any of mine if anyone wants, all software rendering. It's not the modern way now but cool if your into math at all.

Anyways...better go.:)
Cheers. :beer:
 
Raptor man, funny that you mendtion game code, but I was not able to sleep last night because I was trying to figure out how I would write 'Pong' in x86 Assembly,

I know in any High Level Language this would be kinda trivial-ish (you still need to have some 2d physics + path prediction if your playing against CPU + col detection)

oh Man int 13h VGA mode eek.. *

* inline C++ assembly example

http://www.delorie.com/djgpp/doc/ug/graphics/vga.html
 
hehe, that's going back. Been ages since I played with mode 13h on my 486 PC.
I think I still have many of the old register calls, like for the mouse and keys if you need them.

You could write the Pong code in standard c++ using the dos calls just to handle the interface but I guess that defeats the challenge of doing it all in x86.

Oh yeah, wasn't there a trick to run the dos program in a Windows window, then you could include windows.h and get the big memory allocations and other functions?
Otherwise your stuck with 64K memory max are you not? I was forever running out of memory. Pong might be okay though.

Sounds like a fun challenge. I'm glad 'your' doing it, haha. Let us know how it progresses if you proceed with it.
 
Thanks for the explanation Raptor - that cleared things up nicely.

Thanks for the input as well Anhar.

Well... you guys are out of my league :). I hope this isn't standard to know this stuff in conjunction with being a 3D artist... I mean, you guys know it so well because you happen to be into the programming side of things, right?
 
It isn't stuff you would need to know. I picked up some things while playing with game programming as a hobby before getting into this end of 3D, so it helped a bit.
 
Back
Top