Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: SamOS39 on April 15, 2008, 11:21:10 AM
-
http://cgi.ebay.co.uk/Amiga-3D-Graphic-Basic-for-Commodore-Amiga-Computer-NEW_W0QQitemZ160215827400QQihZ006QQcategoryZ4315QQrdZ1QQssPageNameZWD1VQQ_trksidZp1638.m118.l1247QQcmdZViewItem
Has anyone else got this book and if so im wondering if it covers programming textured 3D graphics on AGA machinces...?
cheers
Samm.
-
Textured 3D graphics on AGA machines... in amigabasic? Are you kidding? ;-)
-
.. so thats not what im loking for then .. :roll:
-
While it was fairly straight forward to get a 68k to plough through the various transformation matricies required for a small number of low vertex polygons, I could never, not even on my 040, get anything more than a single simple cube to run at a reasonable speed... With AGA, simply trying to draw the texels takes an age! If I had a better background in maths and computer science, maybe I would have figured out a more optimised routine... But with Amiga, forget about texture mapping!
-
The now defunct amycoders homepage (http://membres.lycos.fr/amycoders/) still has some interesting stuff on it:
Texturemapping Innerloops (http://membres.lycos.fr/amycoders/opt/innerloops.html)
Public C2P Sources (http://membres.lycos.fr/amycoders/sources/publicc2ps.html)
Also check the tutorials.
-
Yeah, C2P would have helped, but I had lost interest in the whole thing before I had the texture mapping working properly... Pixel plotting speed was the least of my problems :-)
-Edit- I did learn about fixed point maths which was fun, though pointless in this modern world.
-
real 3D math sucks...
recently I thought of what might be a better way to render and then I read about ray-tracing and it turned out that that's what I was thinking...but try to do that in real-time on any hardware, let alone Amiga...
-
lou_dias wrote:
real 3D math sucks...
recently I thought of what might be a better way to render and then I read about ray-tracing and it turned out that that's what I was thinking...but try to do that in real-time on any hardware, let alone Amiga...
Realtime raytracing is the way forward... It's the only way to improve the quality over the current generation of 3D hardware... Plus you get shadows and lighting effects for free... Trying to do shadows on OpenGL is so hard I gave up.
-
That's rather a broad statement : "It's the only way to improve the quality over the current generation of 3D hardware".
Ray tracers aren't even used in most movies, Toy Story, Monsters Inc et al weren't done using ray tracers and indeed programmable shaders only came to modern 3D hardware from high-end scan line tracers so there's plenty of overhead left in conventional shading hardware and that's discounting it's ability to pull in elements of Ray Tracing.
Its also true that using Ray Tracing doesn't magically give you anything that which you'd want in a modern game.
Here the article and the following discussion (linked) should provide some decent background reading on the topic: John Carmack on ray tracing (http://www.gamedev.net/community/forums/topic.asp?topic_id=488053).
It's also quicker than me re-iterating some of the points made in that article/discussion :-D but to summarise : Ray-Tracing != "magical pancea to our graphical woes"
Andy
-
I think Piro has already linked you to some good sources for tutorials and erm... source. Anyway just wanted to say that you're probably not going to be wanting to fling a lot of texture mapped graphics around on the miggy in realtime so you're better of attempting to play to some of it's other strengths wherever possible and minimise the use of geometric detail etc.
Guess it depends one what you had in mind really.
Andy
-
@bloodline
I remember playing a 3D texture-mapped racing game on my A1200 with an 030@40MHz (with no graphics card, so it can be done.
Hans
-
Hans_ wrote:
@bloodline
I remember playing a 3D texture-mapped racing game on my A1200 with an 030@40MHz (with no graphics card, so it can be done.
Hans
It certainly can be done! But not by me :-)
-
SamOS39 wrote:
http://cgi.ebay.co.uk/Amiga-3D-Graphic-Basic-for-Commodore-Amiga-Computer-NEW_W0QQitemZ160215827400QQihZ006QQcategoryZ4315QQrdZ1QQssPageNameZWD1VQQ_trksidZp1638.m118.l1247QQcmdZViewItem
Has anyone else got this book and if so im wondering if it covers programming textured 3D graphics on AGA machinces...?
cheers
Samm.
I have the book, let me go open it. Here are the titles of the major chapters in the book:
1. Introduction
2. The Basics of Ray Tracing
3. The Tracer Program
4. Using the Program
5. Program Enhancements
6. 3D Tricks and Tips
7. Mathematical Basics
8. The Optional Disk
Appendices
A. Modules of the Tracer
B. The Tracer Program
C. The Editor Program
D. The SetPoint Program
E. Tracer Error Messages
I doubt this book has anything related to AGA as I believe it was written before AGA was released.
-
AJCopland wrote:
That's rather a broad statement : "It's the only way to improve the quality over the current generation of 3D hardware".
Not only broad, but also true! ;-)
Ray tracers aren't even used in most movies, Toy Story, Monsters Inc et al weren't done using ray tracers and indeed programmable shaders only came to modern 3D hardware from high-end scan line tracers so there's plenty of overhead left in conventional shading hardware and that's discounting it's ability to pull in elements of Ray Tracing.
Yes, there is headroom (I think the word you were looking for :-) ) in current hardware to get faster and more details.. sure... but... (I'll get to it later)
Its also true that using Ray Tracing doesn't magically give you anything that which you'd want in a modern game.
Yes it does... (still building this up for a dramatic effect)
Here the article and the following discussion (linked) should provide some decent background reading on the topic: John Carmack on ray tracing (http://www.gamedev.net/community/forums/topic.asp?topic_id=488053).
It's also quicker than me re-iterating some of the points made in that article/discussion :-D but to summarise : Ray-Tracing != "magical pancea to our graphical woes"
Andy
Raytacing gives you lighting effects for free... and if you've ever tried to write a shadow engine in your 3D code you'll know why I don't want to have to worry about it :-D
-
:lol:
Thats skirting round my point, and you're right I did mean headroom :-D
Rasterisation hardware will get faster which gives you something for free as a developer, yes. That wasn't the headroom I was referring too.
Firstly, not everyone wants ray traced graphics. Ray tracing isn't going to make Geometry Wars look better for example.
Secondly, and part of the reason I linked that article, is that instead of switching to using ray tracing for everything (which has numerous pitfalls and caveats anyway) rasterisation is going to continue "winning" in terms of usage because it's free to pull the parts or ray tracing it wants into it's paradigm.
You've used lighting and thus shadows as an example of something perfect that you get for free. There's no reason this can't be combined with a rasteriation method so that the lighting and shading are calculated and combined in the pixel shader much like current shaders deal with deferred rendering.
I.e. rasterisation can absorb ray tracing but not the other way around.
There's other reasons it (ray tracing) probably won't replace rasterisation anytime soon, if ever, but this is already pretty far off topic.
Andy
-
bloodline wrote:
Raytacing gives you lighting effects for free... and if you've ever tried to write a shadow engine in your 3D code you'll know why I don't want to have to worry about it :-D
Just to really emphasise this point: It doesn't matter. Most of the time the examples you get that use ray tracing are quite contrived in order to achieve the maximum benefit of the technique. However a lot of the time what we use in games is deliberately stylised to get away from a realistic effect.
Sure a better lighting system will benefit some games. However there are plenty of games where you won't be able to tell the difference either.
I guess what I'm meandering my way around too is that switching to using ray tracing to achieve what I've already got and in the process potentially lose, or at least have to re-invent, some of the processes we rely on would be something of a double-lose in terms of time, effort and final effect.
Andy
-
AJCopland wrote:
bloodline wrote:
Raytacing gives you lighting effects for free... and if you've ever tried to write a shadow engine in your 3D code you'll know why I don't want to have to worry about it :-D
Just to really emphasise this point: It doesn't matter. Most of the time the examples you get that use ray tracing are quite contrived in order to achieve the maximum benefit of the technique. However a lot of the time what we use in games is deliberately stylised to get away from a realistic effect.
Sure a better lighting system will benefit some games. However there are plenty of games where you won't be able to tell the difference either.
I guess what I'm meandering my way around too is that switching to using ray tracing to achieve what I've already got and in the process potentially lose, or at least have to re-invent, some of the processes we rely on would be something of a double-lose in terms of time, effort and final effect.
Andy
You forgot to add that people don't code their own 3D engines any more and thus don't care how easy it is to add shadows and lighting effects... Just buy in an engine that does what you want and you're done.
Anyway, I actually agree that Raytracing might not be in itself the future... but the concept, maybe as a hybrid will be the future. All the major gfx companies are investing heavily in it, and the most important factor is that I like the look of it, and I've never been wrong when it comes to predicting technology curves :-)
You say that we would have to reinvent the wheel, but that's not strictly true, a lot of the current technology, filtering, antialiasing, sub pixel rendering are all technologies that are to cover up the current deficiencies, that are not present in raytracing technologies.
-
bloodline wrote:
You forgot to add that people don't code their own 3D engines any more and thus don't care how easy it is to add shadows and lighting effects... Just buy in an engine that does what you want and you're done.
This is kinda true, I have worked with RenderWare I guess though never on an internal studio project. Only once when we did some outsourcing. Every other time they've always been internally coded. Then again maybe it'd be nice to work with a tried and tested codebase rather than the turd I'm working with at the moment...
You say that we would have to reinvent the wheel, but that's not strictly true, a lot of the current technology, filtering, antialiasing, sub pixel rendering are all technologies that are to cover up the current deficiencies, that are not present in raytracing technologies.
Well all of those things are effects that you'll still need I think. Aliasing is an artifact of finitie resolution and AA is just a way of modifying the image to achieve sub-pixel sampling so that artifacts are reduced when displayed on a finitie screen. DOn't quite know what you mean by the other two in some regards are getting a ray tracer to do sub-pixel sampling makes it go off in non-trivial ways.
I do agree that we'll see more hybrid rasterisers/ray tracers. There have been a few RTs written for shader model 3.0 up on GameDev that run almost entirely on the gpu so people are looking into it and it can be used for a lot of cool lighting things.
I just don't think that its actually anything like the leap that people imagine it to be though. Or as simple as people believe. You can write an RT that does all of the things that a modern rasteriser does but by the time you have got it running, and have accounted for the non-static issues you face in games and simulation, you've had to hack and cheat to make it work in just as many ways as people complain that rasterisation based engines are "hacks" & "cheats".
OpenRT (http://www.openrt.de/) shows that it can be done I guess but until Intel and their recent stupid "eveything will be ray traced it r t3h best!" claims are actually up and running with hardware acceleration for RT I can't see people making the effort to utilise it properly either.
Andy
-
AJCopland wrote:
bloodline wrote:
You forgot to add that people don't code their own 3D engines any more and thus don't care how easy it is to add shadows and lighting effects... Just buy in an engine that does what you want and you're done.
This is kinda true, I have worked with RenderWare I guess though never on an internal studio project. Only once when we did some outsourcing. Every other time they've always been internally coded. Then again maybe it'd be nice to work with a tried and tested codebase rather than the turd I'm working with at the moment...
I think we've all had to "work with a turd" before :-D
I think though, with something as complex as a modern 3D engine, it is only sensible to buy in a proven lump of code.
You say that we would have to reinvent the wheel, but that's not strictly true, a lot of the current technology, filtering, antialiasing, sub pixel rendering are all technologies that are to cover up the current deficiencies, that are not present in raytracing technologies.
Well all of those things are effects that you'll still need I think. Aliasing is an artifact of finitie resolution and AA is just a way of modifying the image to achieve sub-pixel sampling so that artifacts are reduced when displayed on a finitie screen.
With Raytracing you can get AA for free... well I say for free, but really i mean that it is handled by the extra complexity of algorithm... since the nature of ratracing (though I think really I/we maybe talking about raycasting... Damn I must read up on this stuff again...) means that the colour graduation of the pixel boundaries are inherently continuous... or something ;-)
DOn't quite know what you mean by the other two in some regards are getting a ray tracer to do sub-pixel sampling makes it go off in non-trivial ways.
They are techniques to cover the flaws in current technology... I don't see their worth in raytracing.
I do agree that we'll see more hybrid rasterisers/ray tracers. There have been a few RTs written for shader model 3.0 up on GameDev that run almost entirely on the gpu so people are looking into it and it can be used for a lot of cool lighting things.
Ohh, that sounds interesting, I'll pop over there and have a look, cheers!
I just don't think that its actually anything like the leap that people imagine it to be though. Or as simple as people believe. You can write an RT that does all of the things that a modern rasteriser does but by the time you have got it running, and have accounted for the non-static issues you face in games and simulation, you've had to hack and cheat to make it work in just as many ways as people complain that rasterisation based engines are "hacks" & "cheats".
Yeah, it's going to be hard work getting Raytracting up to the level of rasterisers... but they are a mature technology with 20years worth of Dev... and they are already reaching their limits... new ideas need to be explored.
OpenRT (http://www.openrt.de/) shows that it can be done I guess but until Intel and their recent stupid "eveything will be ray traced it r t3h best!" claims are actually up and running with hardware acceleration for RT I can't see people making the effort to utilise it properly either.
Andy
We shall see!!! :-)
-
http://www.youtube.com/watch?v=oLte5f34ya8
http://www.youtube.com/watch?v=zKqZKXwop5E&feature=related
http://www.youtube.com/watch?v=blfxI1cVOzU&feature=related
This is a rather nice one... really, it is the future :-)
-
Thanks for everyones reply, ive recently become interested in the 3D capabilities of AGA.
I have been looking at 3D demos on youtube lately and some of them are most impressive .. i especially like this castle one which is basically the tour of a castle in real time 3D (not pre rendered). The musics a bit rubbish from what i remember though...
As usual i asume things are as simple as they look :roll:
.. ill just stick to my amiga dual CPU card project ... :lol: (kidding)
Cheers
Samm.