Welcome, Guest. Please login or register.

Author Topic: Amiga 3D Graphic Programming in Basic  (Read 4492 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline AJCopland

Re: Amiga 3D Graphic Programming in Basic
« on: April 15, 2008, 03:40:52 PM »
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.

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
Be Positive towards the Amiga community!
 

Offline AJCopland

Re: Amiga 3D Graphic Programming in Basic
« Reply #1 on: April 15, 2008, 03:45:27 PM »
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
Be Positive towards the Amiga community!
 

Offline AJCopland

Re: Amiga 3D Graphic Programming in Basic
« Reply #2 on: April 15, 2008, 05:09:38 PM »
 :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
Be Positive towards the Amiga community!
 

Offline AJCopland

Re: Amiga 3D Graphic Programming in Basic
« Reply #3 on: April 15, 2008, 05:16:36 PM »
Quote

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
Be Positive towards the Amiga community!
 

Offline AJCopland

Re: Amiga 3D Graphic Programming in Basic
« Reply #4 on: April 15, 2008, 09:20:53 PM »
Quote

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...

Quote

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 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
Be Positive towards the Amiga community!