Amiga.org

Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: sharpie on December 03, 2003, 08:27:21 PM

Title: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 03, 2003, 08:27:21 PM
I am really having a hard time understanding where the Amiga stands today in terms of a platform.

Is it possible to do real-time 3D graphics for games, via something like OpenGL? Are there drivers for the new Radeon cards? I would like to port a real-time 3D shader engine to the Amiga but it uses OpenGL.

Is this possible, and if so what do I need to be able to start?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 03, 2003, 08:42:30 PM
No existing amiga 3D api supports the newer features supported by these cards. Until they do, you can only expect

Basic shading, filtered texturemapping, blending, fogging, depth culling, logic operations and stencilling.

Currently you have several choices for 3D on amiga

1) Mesa - Shared library implementation. Pretty well implemented openGL clone, not the fastest on existing systems but not bad for faster PPC systems. Supports both hardware and software rendering, the former via Warp3D.

2) MiniGL - Static linker linrary implementation. A subset of OpenGL spec, written by Hyperion for speed rather than functionality. Requires Warp3D.

3) Warp3D itself. Base hardware abstraction layer for 3D chipsets, developed by Hyperion. Conceptually similar to Glide, but hardware independent.
Low level and the fastest way to do 3D, as long as you know your 3D maths very well becuase you will have to implement your 3D transform yourself - it only works in 'screen' space.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 03, 2003, 08:50:56 PM
Ok, thanks for the info. None of those options are acceptable.

What is the ETA for modern/advanced 3D hardware support? Is there one?

I can't help thinking Amiga won't stand a chance of a revival if this is not on their top 5 list of things.. But then again I haven't followed Amiga since my A500 days as a kid. It seems I wisely avoided a lot of self inflicted pain.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 03, 2003, 08:58:20 PM
What exactly do you need, anyway?

Unless you are hell bent on doing shader centric stuff, I think you'll find the existing support suffucient for most purposes ;-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 03, 2003, 09:12:51 PM
Well like I said in my original post I am hoping to port a 3D engine that is advanced and built solely on shaders.

I know that the classic 3D support is useable, but again, its hard to imagine Amiga having a comeback (at least in the area of 3d,animation and games) if shader centric code is impossible.

This technology is pretty much here for a long while.

I guess I'm just wondering if this issue is even on the radar for the new Amiga platform?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: SHADES on December 03, 2003, 09:39:28 PM
This is completly off topic but it's really been bugging me. 3D on AMIGA is really important for games, game share is really important for making money. Sony and M$ know this.

You know, I was really dissapointed in the Australian Melbourne OS4 roadshow. There was this one guy who got up the front plugging his products, used to be some sort of truck engineer. Anyway, he was acting like a guru of new AMIGA hardware and he's saying stuff like "I speak to people all the time about what card they should get for their new AMIGA, can they use the latest ATI 9800 card etc, and I tell them, it's just not worth it. You don't need that kind of power. The OS is so efficiant and small, graphics will fly on even the older cards. You don't need all this big 3D hardware to run under AMIGA OS, I tell them $50 or $800, the price difference, same performance, so buy it now" lblahh blahh blahh. I was so over it I didn't say anything, but this is what it was like. I don't know about you but 3D graphics ability has everyhting to do with the grapics hardware. You don't have transform and lighting shaders, then you emulate it in software and boy , you slow down. I know AMIGA may not have a DirectX 3D type enviroment, but If a game uses the latest 3D and your card can't do it, well it won't look as good and will    
run slowere. No matter how efficant the OS is.

Sorry, it's been bugging me for quite some time. This bloke had no clues and was the Australian contact for AMIGA hardware and helping push forward designs into next revisions.  Really scary if this is the development cycle for Australian AMIGAs I may buy a peg yet!
Title: Re: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 03, 2003, 09:50:26 PM
^^^ What Shades said.

That is what I'm talking about. If Amiga wants to live in the past, by all means ignore advanced 3d hardware.

I would love an Amiga comeback, but for the general market, it will never happen without full, unapolagetic support for 3d.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 03, 2003, 10:18:45 PM
ermm guys... EVER heard of "NOVA" ? .. hyperion will do this for os4 updates, ie after os4 is done ...

and as far as Warp3d goes, it can do exactly what we want it to do for now, i dont see any bigtime commercial games comming this way with state of the art 3d and most of all the money to do such a project.

and since pegasos was dragged in here, where is the 3d ability on pegasos then? , are we talking about TinyGL and rave now ?... have i missed something????? its not even in mos1.4 and as far as my dev docs say its just a basic Minigl transistion.

The nova stuff (os4 only) will be out sometime for sure but i dont see why people is stressing it out atm as its not like people have used w3d much on amiga, infact only hyperion have used it(for their games) + a few freebie games and wipeout2097+payback and some scene demos.

Mesa is dead hopefully and it has no future at all, currently for all mediator (p96) users or later cgx4 user will notice that mesa is struggling on their hw.

so why would a VERY expensive 3d api be needed before we have a finished OS?, please tell me...

belive i want one later on and i am looking forward to nova but i am in no rush since i prefer to have a OS first, and then develop for the os ON the os and see how it goes..

imagine this... DEVELOP FOR AMIGA!! we have a super puper 3dapi but we have no os....

Title: Re: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 03, 2003, 10:58:36 PM
Quote
imagine this... DEVELOP FOR AMIGA!! we have a super puper 3dapi but we have no os....


My brain hurts here. We're talking about a modern system that is supposed to be built upon exactly this kind of feature set. It should be *part* of the OS.

Now if you're saying it will be soon, fine, that's all I was asking. I do appreciate the heads up, because as I said I do not follow this stuff (until now).

As for big commercial games coming to Amiga, nobody is even going to consider it until there is somekind of public and official pledge or plan for that kind of OS level support. So I disagree and think you have it backwards. First they need to anounce the "story" for 3D on Amiga, and then court developers (publishers actually).

Also, a lot of games today run off of middlewhare that could easily be ported to Amiga presuming it had the 3D support.

Anyway thanks for the info from all of you. Its clear that 3D is not something the Amiga can handle at the moment, but it may in the future. But then again, where have I heard that before when it comes to Amiga?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 03, 2003, 11:02:21 PM
Quote

lempkee wrote:
ermm guys... EVER heard of "NOVA"


Don't worry, I'm way ahead of you - hence the "no *existing* api...".

Quote

and as far as Warp3d goes, it can do exactly what we want it to do for now, i dont see any bigtime commercial games comming this way with state of the art 3d and most of all the money to do such a project.


My previous point exactly. Unless sharpie is single handedly going to make a tenebrae type engine, I don't see the rush. You can have the best 3D API in existance, theres no point if you don't have the bluddy OS ready to run it on.

Future interim versions of Warp3D supporting T&L in the API may appear prior to Nova, which requires much work.

Or it may be that Hyperion simply opt to create an OpenGL 2 system. Personally I prefer the nova approach, then building OGL2 upon that, but we'll have to wait and see. In the final analysis, few people know as much about amigaOS hardware 3D than hyperion but people need to appreciate they must finish the OS first.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 03, 2003, 11:10:07 PM
Quote

sharpie wrote:
Its clear that 3D is not something the Amiga can handle at the moment, but it may in the future. But then again, where have I heard that before when it comes to Amiga?


Correction. Shader centric 3D is beyond existing amiga 3D solutions. I dont see anything more than a few years old that requires it. Fragment shaders are out of the question for now, but a degree of vertex shader emulation can be done in software even with warp3d, provided you are prepared to get your hands dirty and implement your own pipeline.

As for newer games that do require fragment shaders, official ports command liscence fees far beyond any existing amiga games developer budgets.

I don't doubt that shaders will appear, if not by hyperion then by someone else. Now that we can actually use such cards, someone will inevitably implement it.

Boring old shaded/texturemapped 3D hardware acceleration was possible on the amiga *before* anybody saw fit to write a decent API/abstraction layer. Guess who they were?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: downix on December 03, 2003, 11:42:29 PM
@lempkee

Rave3D TinyGL and a Warp3D compatible API are included with MOS 1.4 last I heard.  JunGL is under development.  JunGL is a modern GL so I understand, including the shaders asked about.

-edit- Just was informed that TinyGL is not included yet atm.   My bad.  
Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 04, 2003, 12:01:06 AM
downix: its not included ..it will be in 1.5 , anyway i guess u understood my point anyway..


for karlos and shaders: anyway integrating an os with an 3d api is the future?? , i dont see why this can be a problem if its added later when there is an OS , seriously warp3d is enough for now and later we will have NOVA which i am pretty sure will be integrated somewhat..

Warp3d is a standard on amiga, its free and has enough power for now,  if you really wanted to develop a 3d game for amiga then u would use this or make your own but then it wont be an API now would it?.

anyway if anyone plan on making one, well i would be very happy but i know why hyperion is not working on nova, os4 gotta be finished first ..

you all have very good points here and i understand it, but i am a developer and i seriously dont see this as a problem atm (that we dont have a brand new 3d api with all features)
and since hyperion aint 100 people working 24/7 i understand it very well, we amiga guys need to base our past in what to expect and in what speed to expect it...

hopefully it wont be too late...


Title: Re: How to do 3D graphics development on the Amiga?
Post by: SHADES on December 04, 2003, 01:56:53 AM
@lempkee No, that's ok. I wasn't dissagreeing with you.
I was having a go at the Aussi OS4 Road show. The man up the front was trying to tell me that you don't need to update your graphics card to harness the power of 3D enviroments because the OS is so small and efficient. That it would run just as fast on a ATI 7500 to a 9800 and I wouldn't notice the speed. Made me really wonder why he is the sole Aust distributer and why he is pushing for new designs for AMIGA lite and ATX vers on hardware.

I agree the OS won't run faster, it's not 3D but if we want to play the latest games if Software companies want to port to us, we will need the latest hardware!.

The man was a fob off.
I can't beleive he was trying to sell to us. I wouldn't buy from him as he had no idea on what he was trying to talk about.

I'm glad that Nova is on its way.

I did say I was off topic.  OS4 would have been so much more convincing as a viable product if this bloke didn't talk at the show.  
Title: Re: How to do 3D graphics development on the Amiga?
Post by: odin on December 04, 2003, 02:10:27 AM

What does the GL stand for anyway? :-)
Graphics Library?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: that_punk_guy on December 04, 2003, 02:14:47 AM
Graphics Language? (http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=GL&action=Search)

Edit: Nope. :-D

I'm guessing you're right, odin.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 02:19:21 AM
I've seen both Graphics Library and Graphics Language banded about in different literature. One thing I do know is that before it was OpenGL, it was IrisGL - my old chemistry dept. still had some ageing Silicon Graphics systems gathering dust in the corner of the theoretical chemistry labs last time I was there ;-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 02:30:47 AM
Quote

lempkee wrote:

for karlos and shaders: anyway integrating an os with an 3d api is the future?? , i dont see why this can be a problem if its added later when there is an OS , seriously warp3d is enough for now and later we will have NOVA which i am pretty sure will be integrated somewhat..


I wasn't disagreeing. Of course they can add it later in 4.x., and theres no reason that its functionality couldn't be used to bolster things like AG2 - but that is purely conjecture on my part.

AFAIK, Hyperion haven't stated for fact that Nova will be released or if an OpenGL2 implementation will be developed instead. My preference is for Nova with OGL2 built upon it.

Irrespective of the choice between Nova or OpenGL2, what does seem likely is that before that choice is made, interim versions of Warp3D 4 will be released that better suit the new OS4 Interface concept and add support for things like geometry acceleration (T&L) etc.

Quote

i know why hyperion is not working on nova, os4 gotta be finished first ..


Thats exactly what I said earlier...

Quote

you all have very good points here and i understand it, but i am a developer and i seriously dont see this as a problem atm.


Me neither. I used warp3d for lots ot stuff, not all of it for 3D either ;-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: ajk on December 04, 2003, 03:02:05 AM
Stuff like Quake 2 and games that use its engine already run fine on Classic Amigas, and will gain more speed on A1s.

The OS is definetly programmed with modern 3D support in mind, but there's only so much the programmers can do within a reasonable amount of time. It's better to release a version without (modern) 3D support than not release a version at all and wait for everything to be finished, no?

I for one would rather have all printer/usb/etc stuff done before 3D things.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 05:31:22 AM
Quote

ajk wrote:

It's better to release a version without (modern) 3D support than not release a version at all and wait for everything to be finished, no?

I for one would rather have all printer/usb/etc stuff done before 3D things.


Couldn't agree more, really.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Crumb on December 04, 2003, 09:59:51 AM
@Karlos:
Quote
Irrespective of the choice between Nova or OpenGL2, what does seem likely is that before that choice is made, interim versions of Warp3D 4 will be released that better suit the new OS4 Interface concept and add support for things like geometry acceleration (T&L) etc.

If I remember correctly they may also add Antialias
to this Warp3D pre-NOVA version :-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: hairy on December 04, 2003, 10:44:49 AM
Quote

lempkee wrote:
ermm guys... EVER heard of "NOVA" ? .. hyperion will do this for os4 updates, ie after os4 is done ...


Yeah, that closed source, in-house developemnt only, non-standard low-level library, successor to Warp3D, wich suffered the same limitations.
With all deserved respect to the programmer skills obviously. I'm mostly questioning the distribution.
Also, the "as little as needed to run Quake" attitude, wich is perfectly ok from Hyperion point of view (MiniGL suit their needs), is not going to make that API broadly accepted for general purpose 3D use.

Quote

Mesa is dead hopefully and it has no future at all, currently for all mediator (p96) users or later cgx4 user will notice that mesa is struggling on their hw.


Mesa is dead on Amiga, while it's alive and kicking on other systems.

Not specifically to your post, I wonder why every time the discussion on the 3D subject is brought up, amigans relate it to rendering applications (a field where we have no longer any chance) or 3D games using custom engines (ditto). Quite a "retro" attitude, if you ask me.

We're just too busy on fighting on the speed of AGP busses (as if it could make ANY pratical difference) to see where the competition is going... light years ahead.

"super puper 3dapi"?!? have a look at this: http://graphics.cs.uni-sb.de/Publications/webgen///EGStar03/download//star03.pdf

Ciao
Alessandro
Title: Re: How to do 3D graphics development on the Amiga?
Post by: benJamin on December 04, 2003, 11:59:20 AM
I hope this isn't too obvious :-P ...

Hyperion, (re)developing an OS, after having worked on graphics stuff for MacOS X, IIRC, and made their fame by porting 3D PC games to the Amiga?

Whatever direction that they decide to take is, IMHO, going to be the optimum in the short term, and ultimate in the long term. ;-)

Also recall that graphics.library is still yet to be ported to PPC.  The reason it is such a big job is not merely supplementing the custom chip implementations from the 68k Amigas, but ensuring that everything and anything that becomes possible is easily integratable and can be made available when appropriate.

Since Hyperion's Amiga game ports appear to have stalled, I suppose that they will continue after OS4 starts recouping funds. These games will drive Hyperion's preferences for where to take the OS' graphics towards the future (possibly, maybe I really am an idiot...).

I heard somewhere's here about the possibility of an upcoming SDK containing a Cg (nVidia's "C for Graphics" [Processors]) [style|actual] compiler for Amiga OS.  If that were the case, I would personally consider building the abstract Amiga-side layers that your product will need to fit inside.  I start with a shell into which I can stick 2D graphics, then I write a program to describe those images.


A little aside...

Commercial companies upgrading from legacy hardware (read "Amiga Classic"), and those who supposedly are relying upon new Zico compatible hardware for Linux, I suppose, are to push the other areas of the new OS' capabilities.  I really think the finished MiniITX system will be the fresh cherry on this drying pie.  I expect people thought the A600 was purely to encourage C=64 users to upgrade, when it really was a nice sized mother board to stick under a monitor in a kiosk or slot=machine.


Anyway, that's probably too much for one post.  Thanx for reading thus far.


benJamin



"Damn, but did this take a long time to do on a PC from the same period as my Amiga beside it."
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 12:03:14 PM
Quote

Crumb wrote:
If I remember correctly they may also add Antialias
to this Warp3D pre-NOVA version :-)


Actually, theres actually nothing stopping antialiasing being used on existing v4.2 warp3d other than the fact that none of the currently supported chipsets seem to have it. Actually, I coudln't say for later voodoo chips ;-)
Anyway, as for antialiasing, the appropriate states and queries are defined in the API since v2 IIRC.

Hmmm. According to sect 2.1 of the  permedia2 programmers reference manual, it has 'full scene antialiasing', but I'm buggered if I can find it elsewhere in the documentation.

-edit-
@hairy
Quote
Yeah, that closed source, in-house developemnt only, non-standard low-level library, successor to Warp3D, wich suffered the same limitations.


So I take it you have read the Nova whitepaper and discussed it with Hyperion then? :roll:
Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 04, 2003, 12:18:16 PM
shades: yes i know what you mean , but in many ways he was right since when you now upgrade lets say from an voodoo to a radeon and play quake 1 GL, well it will be exactly the same wont it?

anyway we are walking in circles here it seems,my point is just that hyperion has talked about nova for some time now and they talked about os4 and eventually they will start on nova..

..

lets see what happens, i had expected someonmne from hyperion to join in this discussion but they havent....sort of weird :)

Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 12:21:10 PM
Quote

lempkee wrote:
i had expected someonmne from hyperion to join in this discussion but they havent....sort of weird :)

Just extremely busy I suspect...
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 04, 2003, 12:23:19 PM
Quote
Actually, theres actually nothing stopping antialiasing being used on existing v4.2 warp3d other than the fact that none of the currently supported chipsets seem to have it. Actually, I coudln't say for later voodoo chips


This is correct, although the latest Voodoo (VSA-100) does support FSAA. Theoretically it could be turned on, just use W3D_SetState(context, W3D_ANTI_FULLSCREEN), but no driver up to now supports it; there is no official support for Voodoo 5, although I have one in my classic and it works without problems.

Quote
Hmmm. According to sect 2.1 of the permedia2 programmers reference manual, it has 'full scene antialiasing', but I'm buggered if I can find it elsewhere in the documentation.


I seem to remember that Sam had this discussion with someone Permedia 2 guy that claimed there was anti-aliasing, but it more or less turned out that there was a windows driver for the card that simulated that. Needless to say the fill rate of the Permedia 2 is low enough to make such tricks work only on triangle-limited scenes...
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 12:27:49 PM
:lol: Rogue, you have an awesome sense of timing...

-edit-

I see its a genetic trait also ;-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 04, 2003, 12:35:20 PM
Quote
know AMIGA may not have a DirectX 3D type enviroment, but If a game uses the latest 3D and your card can't do it, well it won't look as good and will run slowere. No matter how efficant the OS is.


Believe me, I share your concerns. And believe me, I don't share this opinion about the "uselessness" of powerful 3D hardware.

Development in that direction is on it's way, but I can't talk about this right now. If it works out, though, there'll be an optimal solution for the Amiga in terms of 3D graphics, at least for ATI cards, and maybe for others as well.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 04, 2003, 12:37:48 PM
Quote
It should be *part* of the OS.


Initially, this was the only part of the OS we would be doing, until fate (and other factors) decided otherwise ;-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 04, 2003, 12:38:19 PM
Quote
Yeah, that closed source, in-house developemnt only, non-standard low-level library, successor to Warp3D, wich suffered the same limitations.


The same applies to Direct3D. OpenGL is all nice but the ARB has a way of being a bit slow when it comes to making decisions.

Besides NOVA won't be so low-level anymore (including a full 3D pipeline, shader language etc).

The other problem with a general-purpose OpenGL implementation is that some things are not really working, or require a myriad of different code paths to achieve. A recent project we're doing on Linux requires access to the depth buffer. You can of course use a pixel transfer function, but these happen to be extremely slow on some cards, meaning you will need to have all the cards to test and invent other methods for others. With Warp3D we don't have this problem.

Quote
Also, the "as little as needed to run Quake" attitude, wich is perfectly ok from Hyperion point of view (MiniGL suit their needs), is not going to make that API broadly accepted for general purpose 3D use.


That goes for MiniGL. Warp3D is as limited or complete as e.g. Glide, and was never intended to be more than that. General OpenGL is/was too slow for the classics; MiniGL made Quake 2 playable on the 060.

The reason for this "articifical limitation" in MiniGL was simple - there was a goal that I wanted to achieve, and that was a fast, thin OpenGL-lookalike API on top of Warp3D that was sufficient for our ports. We never intended to do anything else. StormMesa was for anyone that did want more than that.

Quote
We're just too busy on fighting on the speed of AGP busses (as if it could make ANY pratical difference) to see where the competition is going... light years ahead.


Quite right. A Mesa port all in itself will not be the answer to that, though - you'd have to write those hardware drivers too (unless you want to port DRI too). However, you will still see a big performance gap between Windows and Linux.

We have a plan for the future, which I am not going to get into here, that we hope is going to amend this situation. Until that time any solution is going to be an interim one, but that is the best you can do at the moment. This interim solution will consist of Warp3D and Mesa at the moment, and may be NOVA, Mesa or something else (in one or the other combination) in the longer run.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 04, 2003, 12:43:40 PM
Quote
That is what I'm talking about. If Amiga wants to live in the past, by all means ignore advanced 3d hardware.

I would love an Amiga comeback, but for the general market, it will never happen without full, unapolagetic support for 3d.


Sorry to say so, but this is not about "wanting to live in the past". Currently it is being enforced.  You need to go with what you can get, and that generally excludes anything of NVidia's offering for example.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 04, 2003, 12:44:37 PM
Quote
I for one would rather have all printer/usb/etc stuff done before 3D things.


Yes, but luckiy, those aren't done by me  :-D
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 04, 2003, 12:50:17 PM
Quote
i had expected someonmne from hyperion to join in this discussion but they havent....sort of weird :)


You know, there's this big project that we're working on that is taking quite some time ;-)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 04, 2003, 12:52:10 PM
Quote
Yeah, that closed source, in-house developemnt only, non-standard low-level library,


You mean glide ? Or DirectX ? (SCNR)

Quote
Mesa is dead on Amiga, while it's alive and kicking on other systems.


LOL! Mesa is a tremendous piece of software, but it's state management sucks dead hamsters through a garden hose. Compare the perfomrmance of Linux and Windows on the same platform, with any official driver (nVidia or ATI).

Quote
o see where the competition is going... light years ahead.


Nobody is denying that... but then, if you don't start, you never get anywhere... your stance seems to be to stick your head into the sand and surrender to "the evil empire" ?

Quote
"super puper 3dapi"?!? have a look at this:


or www.opengl.org ?  :-D
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Crumb on December 04, 2003, 12:55:44 PM
@hairy:
First of all, I don't care if it's closed because it's updated and bug-fixed faster than the other open source options. There are no Amiga programmers that can waste their time porting slow unix sources to Amiga. I prefer native implementations even if they are incompatible. The GTK Windows implementation is damn slow for example (just check a simple program like xchat... the version that doesn't use gtk is quite faster) even on a 600Mhz machine. It's so easy to complain about other people work... if you think that opensource is the best option do the ports yourself, don't force people to do what you want instead of doing something useful and doing it yourself. If Hyperion decides to make something they are free to do that because it's their product and they are the company with more experience in 3D APIs on Amiga (And they know most of APIs because they work porting programs and games).

nVidia and ATI have propietary GL extensions, go to attack them.

Unix != AmigaOS
ports end up being slooow unless you optimize them heavily and make a fork from the main source tree.

If you want something standard you can use MESA. If you don't like it you are free to make your own implementation.

MESA isn't dead on Amiga, it's AmigaOS 3.x what is dead. MESA for OS4.0 will appear with NOVA. Even if it's slower than Warp3D it may be useful to port apps/games.

Many PC games use OpenGL subsets to give faster speeds, for example Quake3 or Half-Life (I don't care if they are old, modern games use their engines)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 12:57:48 PM
Is it me or did it suddenly get pretty busy in here?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Nightcrawler on December 04, 2003, 01:17:53 PM
Quote

Karlos wrote:
Is it me or did it suddenly get pretty busy in here?


So it did :-D

Nice to see that hyperion are still alive. I was worried for a while that the workload had killed/institutionalized them :lol: .
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 01:30:07 PM
The really funny thing is that it all started just after I said they were probably busy to jump in, then went quiet again just as I remarked how busy it was after they did :lol:
Title: Re: How to do 3D graphics development on the Amiga?
Post by: TheJackal on December 04, 2003, 01:33:32 PM
Quote

by Karlos
Is it me or did it suddenly get pretty busy in here?


Yeah, so squish up to make rum for us all. [edit that should be room, but the typo rum is funnier :-D /edit]

Quote

by Nightcrawler
Nice to see that hyperion are still alive. I was worried for a while that the workload had killed/institutionalized them  .


I though they where institutionalized? Nice padded cells, Amigas,.. Wonder if there are any nice female nurses? ( I keep asking for them here, but still no luck! :) )

As to the topic in hand. I have worked with several API's on many platforms, and currently work with people who do as well.

The requirement for an API is not for it to mimick another API (although that can be handy), it just has to be clean, and easy to use. Any decent programmer would be able to write a translation layer to interface the new API with the games general engine interface.

@EntilZha and @Rogue and @hyperion guys in general.

I think you are doing a good job so far and seem technically compitent to provide such services when you get time. (or you get cloned, one of the two!)

However in your "Multimedia" API I would suggest trying to go for something eligant and "future proof", (if there is such a thing) like DX9, since I feel OpenGl has lost its way recently, and seems to be struggling to restandardise itself with all these new extentions.

Quote

by Roge
...The other problem with a general-purpose OpenGL implementation is that some things are not really working, or require a myriad of different code paths ..


As you mentioned all the different code paths required on OGL becomes a nightmare, in DX its easier, the effects stuff in DX are quite interesting, even though I've not personally used them.


Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 04, 2003, 01:55:27 PM
Quote
As you mentioned all the different code paths required on OGL becomes a nightmare, in DX its easier, the effects stuff in DX are quite interesting, even though I've not personally used them.


Yeah, the different code paths are my biggest gripe with OpenGL. You practically must have all the hardware (or testers available) in order to make use of them. Just compare the different fragment shaders (most OpenGL drivers support ARB_vertex_program now).

Plus, some of these extensions are burdened with copyrights. I think that e.g. NV_vertex_program is copyrighted by nvidia and may only be implemented on NVidia hardware (although Mesa has a special, software-only permission).

I never used the Effects stuff in DX either, but the SDK samples look quite promising. I wonder if anyone is using the D3DX model code - doesn't look that bad either.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: TheJackal on December 04, 2003, 02:04:42 PM
Quote

by Rogue
I never used the Effects stuff in DX either, but the SDK samples look quite promising. I wonder if anyone is using the D3DX model code - doesn't look that bad either.


The closest I've come to using the D3DX lib stuff is for matrix gubbins. As for the model handeling stuff it looks interesting. The x file format is also interesting, as there are many tools out there to convert from to x files.

However if you are developing multi-platform stuff you are most likely going to "roll your own" model format, which can be quite flexable with DX and cards supporting multiple streams.

Title: Re: How to do 3D graphics development on the Amiga?
Post by: serge on December 04, 2003, 02:11:26 PM
Maybe, my question could be a little stupide, so sorry, but I want know if OS4 will be able to use Warp3D on a lot of GFX cards.

why nobody speaks about SNAP ?

Does snap be able to comunicate with WARP3D ?
Will snap gives to AOS4 the possibility to use 3D functionalities of all the cards supported ? something like 200 cards !!!
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 02:15:44 PM
Ages ago, when I was messing about with this old game engine (http://amiga.org/gallery/index.php?n=440) I was designing, my model class didn't actually have any IO support at all (I was waiting to do it later), so I actually had to encode the vertices by hand in some source. Thats why they look (and are) sooo basic :lol:


Title: Re: How to do 3D graphics development on the Amiga?
Post by: MagicSN on December 04, 2003, 02:25:43 PM
SNAP contains only 2D Drivers. 3D Drivers are needed independently of it. The first "new" 3D Driver
will be for Radeon.

Steffen

Title: Re: How to do 3D graphics development on the Amiga?
Post by: hairy on December 04, 2003, 02:31:20 PM
Hello!

First, my hat off to you.

Quote

EntilZha wrote:
Quote

Yeah, that closed source, in-house developemnt only, non-standard low-level library,

You mean glide ? Or DirectX ? (SCNR)

Naah :-) The first is extint. DirectX... well place DirectX at north pole, the word "standard" will suddenly relocate at south pole :-D
Don't get me wrong, I have nothing against OpenGL wrapped on something (Warp3D), it was just a bit of sarcasm about the Warp3D/Amithlon (both software renderer and Voodoo driver) licensing issues.
I understand your point, and you had any rights to deny distribution.
But, if you did so to avoid splitting the community (again no offence intended), sadly (or fortunately?) the effect on me (and maybe some others?) was that I suddenly jumped on the MorphOS train.

Quote

Quote

Mesa is dead on Amiga, while it's alive and kicking on other systems.

Compare the perfomrmance of Linux and Windows on the same platform, with any official driver (nVidia or ATI).


I'm satisfied with DRI and nVidia drivers performance on Linux... more afraid to compare the best Amiga performance (Permedia2?) to the worst Linux x86 software renderer (given a decent processor) ;-)
Anyway at this stage I'm much more concerned (and dreamy) about some way to get a Makefile, wich works on BOTH Linux and Cygwin to compile on AmigaOS/MorphOS/AROS, all without having to use such a blind violence to GLU tesselators :-D

Quote

Quote
o see where the competition is going... light years ahead.

Nobody is denying that... but then, if you don't start, you never get anywhere... your stance seems to be to stick your head into the sand and surrender to "the evil empire" ?

Not at all! I think GL(+NOVA)+some HW drivers would be a HUGE milestone on the road to catch up.
I just want some people to get real, and realize that they're talking about "rendering" (e.g. how good Lightwave was, let's make a petition to have it again (!) etc.), while other platform are approaching same visual quality in realtime.


Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 04, 2003, 02:47:17 PM
Snap is 2D , Warp3d / NOVA is 3d.


anyway i am glad hyperion joined in here and i hope we will get some hints and tips :)

rouge/ent/steffen:  OpenGL is the super puper 3d api ? , hmm ok.. i fear it will take quite alot of time to make this uptodate with either nova or warpd3d , afaik nova is supposed to be warp3d v5 right ? or hmm someting like that ... Warp3d was Step 1 ( ogl 1.x and minigl ) and Step 2 would be nova...


hairy: as it was told earlier in this thread, Morphos doesnt have a 3d api incoroprated yet, just a few people has this, it will come later (maybe in the 1.5 upd when pegasos 2 comes , which should have come 2-3 months ago if you read some posts.. )
anyway morphos use TINYGL and RAVE.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 04, 2003, 02:51:18 PM
oops i was abit too fast , i meant...

OpenGl is a big project and it will take time to make an amiga/ppc port of it...wont it? and then make it work as an w3d , OGL 1.x and miniGl is allready inside w3d but afaik 2.x is waaaaay bigeger and messy ...

(ie an example is directX grew over 100mb after they included this , but then again....i might be wrong as pc is like... C.R.A.P :D)

Title: Re: How to do 3D graphics development on the Amiga?
Post by: downix on December 04, 2003, 03:08:13 PM
@lempkee

No, it was stated earlier that MorphOS *does* have 3D included, namely Rave3D and their Warp3D clone.

It also has 2 more higher-level 3D systems under development, TinyGL and JunGL.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Crumb on December 04, 2003, 04:51:22 PM
@Downix:
I tried to compile some TinyGL examples with StormC but it wasn't compatible :-/

I thought it may be more interesting than MESA for 68k Amigas without 3D hardware...

Although my Voodoo3500 works quite well I'd like to see Radeon support in MOS soon

BTW "GOA", the W3D wrapper of MOS works quite well. :-)

@Downix:
have you tried to make StormMESA work? A friend of mine has some stuff written for basic OpenGL in windows and he would like to try it on his peggy with 3D acceleration.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: downix on December 04, 2003, 05:08:12 PM
@Crumb

I have never tried StormMESA in any way shape or form.  I could give it a shot tho, URL?
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Crumb on December 04, 2003, 05:52:50 PM
It's here: http://www.haage-partner.net/download/Amiga/3DWorld/StormMesa/ (http://www.haage-partner.net/download/Amiga/3DWorld/StormMesa/)
As it uses Warp3D as renderer it should work with GOA :-)
In case you wonder why I don't test it myself it's because I won't be able to touch my peggy until December the 12nd :_(
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Crumb on December 04, 2003, 05:56:49 PM
BTW have you seen the funky names the MOS team uses? "Trance" for the 68k JIT emu, "GOA" for the Warp3D wrapper, "JunGL" (jungle) for the OpenGL library... it seems they like techno... what's next... "Darkwave" or "electro"? :-D
Title: Re: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 04, 2003, 06:45:08 PM
DirectX is a standard, despite the cries on this thread otherwise. It's a de facto standard, not an open one, the majority of games use DirectX as the renderer, or at least include a DX renderer in their engine.

Considering how much input Microsoft takes from game developers and IHVs on the future of DirectX (I know because I worked at MS for 5 years), its very representative of the positive sides of an open standard body like OpenGL, but without the incredibly tiresome waiting and waffling.

True that it benefits from a smaller niche, games only, where as OpenGL has a whole variety of industries to please, so it can be forgiven.

In any case, I could care less if Amiga had a DirectX or an OpenGL, or something new. What I care about is that there is some equivelent that lets me write shaders, preferably in a HLSL/Cg/Slang-eque language, which can compile down to the actual Vertex and Fragment program specs, and which otherwise take advantage of all the hardware features found in today's cards.

I understand the delay, and the need to complete the OS, but I don't understand the lack of a concrete vision and story for 3D on the Amiga. Saying that such and such API is possibly coming out, and not knowing what it actually is capable of and how it works, is not what I'm talking about.

At this point I would be happy with a gaurantee that such a featured API is coming out, from which point I could write an abstracted rendering interface in my game knowing that it could be easily ported/implemented later once more detail is available.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: sharpie on December 04, 2003, 06:46:34 PM
By the way, I didn't even imagine this thread would get this big. Obviously there are a lot of varying opinions and unknown details about this issue.

It will be interesting to see where this leads.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Karlos on December 04, 2003, 07:44:41 PM
@sharpie

Direct X is a standard, but it is not an open one. There is obviously no chance it will be ported to AmigaOS4/MOS unless Microsoft wish it.

Anyhow, seeing as your existing project will be on hold until you get the 3D support you need, if you are as clued up on the whole shader issue as you seem to imply, why not do something about it?

Since nVidia are totally closed off to external 3D driver developers, you are left with ATI as your main vendor for 3D fragment shader technology available for Amiga right now.

You could get in touch with them and get an NDA and whatever else they may require covering the Radeon series and create a 3D API yourself. Model it on whatever existing shader language you prefer.

Nothing is stopping you.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Tomas on December 04, 2003, 08:08:32 PM
Quote
That is what I'm talking about. If Amiga wants to live in the past, by all means ignore advanced 3d hardware.

I think they are working on it... Just not possible to do everything at once.. the most important thing is to get the OS running on ppc, then later implement some decent 3d.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: ajk on December 04, 2003, 08:53:55 PM
Quote
Quote
I for one would rather have all printer/usb/etc stuff done before 3D things.

Yes, but luckiy, those aren't done by me :-D


Oh, well in that case you have my blessing on doing whatever 3D stuff you prefer :-D
Title: Re: How to do 3D graphics development on the Amiga?
Post by: SHADES on December 05, 2003, 09:14:21 AM
@lempkee
Yep, I agree, Wuake would look the same using the less complex 3D work,  but I did say latest 3D games.

I'm not too worried about not having the platform with the OS as of yet, I'm more worried about people that are promoting the product in a way that makes consumers feel as though it's not being developed by people who know what they are talking about.  It  just gives consumers lack of confidence in the platform. This man had no clues! He was trying to tell me the latest game would run just as well on a say a tnt2 card as they would on a ATI 9800 because the OS (OS4) was so small and efficent. He was using the multitasking cenero comparison in 1MB ram aMiga Vs the Microsoft IBM PC 16 Mb.

I was floored, that he would be recomending to people this type of hardware and that it would be enough for future gaming. Imagine, you want a gaming PC, you choose AMIGA, your told the 7500 is all you will need for games, you get the AMIGA vers of Doom3 or whatever and it fails.

This man is recomending to developers on what hardware should be included onto future revisions of the AMIGA mainboard, and apparently, some of his suggestions were acted apon. I was just really scared that somone who dosen't know what he is talking about is pusshing these points forward when consumers may not be aware how to vertx shaders are better than one. Just as an example. I wish I could remeber this burks name. Thing is, no one said anything, I should have, I was just confounded. I was waiting for the AMIGA OS dude to say something, like NOVA is on it's way and will support higher functions later on etc...  I mean even ATI won't stop at the 9800 series. 3D is going to go further and games will get more complex. I doubt too many people are going to be interested in a port of Quake whan others are playing Quake 8 or whatever it will be.

I should have said something. I wish I had.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: SHADES on December 05, 2003, 09:27:18 AM
@EntilZha

>>
Believe me, I share your concerns. And believe me, I don't share this opinion about the "uselessness" of powerful 3D hardware.

Development in that direction is on it's way, but I can't talk about this right now. If it works out, though, there'll be an optimal solution for the Amiga in terms of 3D graphics, at least for ATI cards, and maybe for others as well.


I'm so glad. We need people like yourself plugging the AMIGA product, people who do know what they are talking about. Not hacks!. If you had have been the person to have shown off the product and talked at the OS4 show, I'm sure a lot more people would have taken the whole show more seriously. I hope this bloke didn't give the same speach at Bris, Canb, Sydney as well.

Bad or incorrect marketing could seriously hurt the re-launch of AMIGA as a serious and viable solution. that's what really scared me, that and the fact this person was being taken seriously and responsible for showing and explaining the product! Oh and telling us he was in direct contact with people responsible for future H/W development. :-(

As for not being able to talk about the software development of future 3D platform,. I completly understand, and that's fine, the fact that there is this product under development/intergration is all that needs to be said really. This alone should be enough to sack this bloke, mind you he's from a non-profit organisation.  I'd like to see his ATI 7500 do the more advanced 3D abilities of the 9800. What a whacker, really bad news having him there without the correct info.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: DonnyEMU on December 05, 2003, 09:58:04 AM
Where does the Modern Day Amiga stand? Well that's a split question. One or two people really explained where GL development is really well, however to understand what is really needed you have to look at the PC..

For those Amiga folks who are anti M$ put on your blinders here because I am going to attempt to make some comments that should step around the bill gates argument..

OpenGL is changing.. So is DirectX... Why? Well the honest truth of it is the things you can do with shader technology (both hardware and software based shaders) just is amazing. They can give you some very cinematic FX that just some Quake-style engine can't touch by itself.

The Amiga community needs to understand that graphic cards today not only include all the blitter and imaging technology but they also contain vector processors which are special processors onto themselves. Shaders write code to take advantage of these processors.  Most shader programs are usually are around 40 lines of code and are limited to doing specific operations involving matrix math.

Now having said that a system there are like 41 vga chipsets to write for each with different capabilities. Software like direct x supports at least 3 different levels of shader functionality depending on the new ness of the card.

For the Amiga to stay hardware un-specific and to support this kinda technology, besides having to know how to program for the capabilities of the cards they'd also need a better interface that recognizes what a card's shaders can do and support the functions of the card in a generalized API that is not specific to one card. They need to do for 3d processors what cybergraphx did for vga cards.

This is a very massive undertaking but probably the only way the Amiga can keep up.  OpenGL is nice, but for real game developers the bar on this is raised much further..

In a couple of years I suspect 3d won't just be common fair in games, but will be prevalent in other areas that we are not used to seeing it just because  of this cheap powerful graphics hardware that has been here for a few years..

OpenGL needs some big extensions and we need another interface as well that's open and takes advantage of new capabilities as they become available.

To be saying the current graphics are good enough is yet putting another nail in the platforms coffin..



Title: Re: How to do 3D graphics development on the Amiga?
Post by: Crumb on December 05, 2003, 12:19:05 PM
Quote
The Amiga community needs to understand that graphic cards today not only include all the blitter and imaging technology but they also contain vector processors which are special processors onto themselves.


Problem nº1: we couldn't use modern cards because we don't have hardware--->Fixed with PCIs and AGPs...

Problem nº2: We don't have an OS ---> Fixed in MOS almost fixed in OS4

Problem nº3: We still don't have 3D API ---> Wait a little until the OS is more or less complete.


Come on, AmigaOne Lite uses a 7000 or 7500 on board because it has to be sold to the industrial market and in that market they don't care much about vertex shaders etc...

I would prefer that the lite used a radeon mobile 9x00 chip and as it is pin compatible Eyetech may produce 2 models, one with a sligthly updated gfx core with vertex shaders etc and other more basic for the industry. But what's the problem, even if they didn't do that you can plug a new gfx card in the pci slot...

I know Radeon 7500 sucks compared to a 9600 for example, but on Amiga you still don't have software so advanced so people is going to buy cheap cards to use the OS. And when NOVA is released they may update or not. Those who not update because they don't have money for a new gfx card won't be potential users. What I try to say is that even if that person who suggested coders that a 7500 on amiga can be compared to a 9800 on windows (which clearly is a lie, isn't serious and shows little knowledge) was wrong, the harm he caused may be smaller, because the standard gfx card on amiga will be for at least 2 years a Radeon7000/7500/9200 (these cards aren't true DX 9 cards) and developers will have to keep in mind that a 7500 IS the standard and will have to optimize their programs for that... If they don't do that they won't have any sales. And even with NOVA released it will take some time until people start to see any advantage about upgrading...

AFAIK ATI still don't give much information about the latest Radeon 3D cores (9600/9800 etc) so having an API that emulates things via software may be interesting (you probably will get NOVA when ati releases the information about their cards) for future programs.

I understand that these future programs could be started to be developed NOW if the specifications were available but realistically, you can't do a project of 2 years exclusively for Amiga and still expect to pay the costs... If you are designing a program that requires 3D try to use an abstraction layer defined by you or use OpenGL at least (it should be easier to port even if not every extension is available)

"They need to do for 3d processors what cybergraphx did for vga cards. "
Well Warp3D/Rave3D do that. I've used that. NOVA (Warp3D 5) will add even more features (and will take advantage of the latest GPU tecfhnologies). A year ago we didn't have Radeons on Amigas, you can't expect to get support so fast.

And yes, pure DX9 type cards will make everything fly with NOVA, but first of all we need an OS. Later we need to be able to use latest radeons and documentation so Hyperion/Genesi can make drivers.

For serious apps things like virtual memory and other services are required... and these must be finished before the gfx 3D API
Microsoft didn't make DirectX before Windows95, you know...?

Radeons 7500 are enough for the software we have and even with a finished API we won't be able to use the 3D part of Radeon 9800 etc for some time because ATI won't give us the docs.

In addition to that I'll say that I still don't know anyone with a pure DX9 card (like 9600/9800 etc).

If you were going to sell a program you should keep in mind that the user base is important and that not everyone is going to update their 7500 for a 9800 to make your software run.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: NicoPPC on December 05, 2003, 12:51:10 PM
Quote

lempkee wrote:
hairy: as it was told earlier in this thread, Morphos doesnt have a 3d api incoroprated yet, just a few people has this, it will come later (maybe in the 1.5 upd when pegasos 2 comes , which should have come 2-3 months ago if you read some posts.. )
anyway morphos use TINYGL and RAVE.


MorphOS 1.4 which is available for Pegasos user does have 3D API:
- Warp3D wrapper: WipeOut 2097, HereticII, Shogo, Payback ... are working
- TiniGL: Works well.
- Rave3D: used by TinyGL. The Voodoo driver is FFAAAAAASSSSTT
- MiniGL works too has it's linked with the application and it uses Warp3D.

See MorphOS 1.4 release note:
http://www.morphos.net/morphos_release1.4.php

Only Voodoo 3,4 and 5 are supported at this moment.

Bye
Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 05, 2003, 01:02:21 PM
nico: in 1.5 there will be changes ofcourse but i dont see any reason to hype 1.4 up when it comes to 3d, but i have somewhat confused all the 3d elements under mos..

anyway discussion ends here.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: lempkee on December 05, 2003, 01:11:14 PM
i somewhat need to point out to everyone who is sceptic about amiga and its future.

just let me put it like this , Amiga wont "WOW" outside users for now , neither will pegasos and its morphos, it has nothing yet for the common end user (as in NOT advanced)...

Everything has to be done with babysteps and i dont see this as an problem for now, it will take time and MAYBE be the time everything is looking bright then we might get some special hw plattform or whatever, basically atm amiga and pegasos doesnt stand on its own feet, just like linux , its for niche markets.

oh and the userbase on amiga/pegasos are so small that you cant expect people to trow in millions of dollars.

anyway it hit me a few days ago that amigaOne/pegasos is more or less going into the same mistake/problem as BEbox/BEos had, i hope not but as we progress here now it seems very simmilar....and its hard to say this as i am 100% amiga and belive me if such happens.....bleh yes u know...

Os4 ... Finalized , 3dApi integrated next, developer search and to create a market, a special market... infact when amiga moves to a1 totally or os4 thats when people will fall out, and people will get confused if its backwards compatible or not and by that i mean everything and who will understand "68k applications will work" and they have Dpaint 5AGA which they want to use... :)

anyway people think that custom chipsets is dead, well ermm what is a GForce 4 etc then?..

as it goes for 3d api, sure i want vertex shaders etc more than most other things but i want an os first and so on....

this thread shows alot of views and i agree with 90% of em or maybe more, its just that miracles never happen in the amiga community, and i hope people wont expect it either..

maybe one day :)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Cymric on December 05, 2003, 01:57:39 PM
Quote
lempkee wrote:
... Everything has to be done with babysteps and i dont see this as an problem for now, it will take time and MAYBE be the time everything is looking bright then we might get some special hw plattform or whatever, basically atm amiga and pegasos doesnt stand on its own feet, just like linux , its for niche markets. ...

Can't resist making this tiny remark here: Linux stands very firmly on its own two feet, much more so than the AmigaOne and Pegasos ever will. I also object against calling Linux a 'niche market', but then again, compared to Microsoft, everything qualifies as niche. But in the niches themselves, Linux is quite big.

Continue the 3D-discussion folks, it's been quite interesting and worthwhile reading!
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 05, 2003, 02:10:12 PM
Quote
However if you are developing multi-platform stuff you are most likely going to "roll your own" model format, which can be quite flexable with DX and cards supporting multiple streams.


Sure, the non-portability is a problem, but then it didn't stop you from using D3D in the first place :-) I mean, not many people in the windows world really care about portability (otherwise there would always be some sort of file I/O abstraction that is endian aware... *Sigh*)...
Title: Re: How to do 3D graphics development on the Amiga?
Post by: TheJackal on December 05, 2003, 02:14:08 PM
Since gfx cards are having more and more onboard vram, a very nice feature for future API/OS would be for each application to render to a texture. This is instead of the way Windows currently repaints the app.  This way apps won't "interfere" with each other in a desktop enviroment.

Also it woud be easy to display a small version of the app in the dock menu, or when you do "alt-tab". (abit like XP iirc).  Also it might have interesting applications in future Human Interface technologies which diferent paradgms from the current 2D view.

As for 3D, it would be nice to have along side vertex and pixel shaders, geometry shaders. So logical operations can be performed on "geometry" (And or Xor etc). Of course it would be just a stub interface for now, but keeps the API more open for future development.
I suggest this since I see it as the next logical step to mathmatical descriptors of geometry which then with hardware get tesslated to triangles, (in real time or on startup). So artists can build assets at the highest possible detail level and not worry about hand building specific lod models for different hardware/setups etc.

Sorry for the rambling, but my brain is in one of "those" modes! :-D
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 05, 2003, 02:14:11 PM
Quote
Does snap be able to comunicate with WARP3D ?


Obviously, there needs to be a link between a 2D and a 3D driver. Command transport arbitration is one thing, and resource management (like textures etc) is another.

Quote
Will snap gives to AOS4 the possibility to use 3D functionalities of all the cards supported ? something like 200 cards !!!


SNAP drivers, at the moment, only provide 2D functionality.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 05, 2003, 02:15:27 PM
Quote
it was just a bit of sarcasm about the Warp3D/Amithlon (both software renderer and Voodoo driver) licensing issues.


Yeah, I know that was a bit of a controversy, but there was more behind it than really hit the surface... suffice to say that if some people hadn't been such d*ckheads, it would have gone better...

Quote
But, if you did so to avoid splitting the community (again no offence intended), sadly (or fortunately?) the effect on me (and maybe some others?) was that I suddenly jumped on the MorphOS train.


Why that ? Do you really think the Amithlon/Warp3D situation was our fault ? Fact is that it wasn't. We offered to licencse Warp3D to Amithlon, even for half the price (because we were told that "the hardware we support is utterly outdated on the PC platfomr"). After we offered that, we never got a reply. Later on, certain people said in public that we didn't want to license it.

So bottom line, somebody (not us) lied in public about this. I'm sorry if that drove you away...

Quote
I'm satisfied with DRI and nVidia drivers performance on Linux


Well, I'm not. I have an ATI Radeon 8500 and I'm using the latest ATI driver (tainting my kernel, but that's another story :-D) and the performance is way below what Windows can offer... I would accept some percent, but not factors (it's about two to three times slower on Linux).

Quote
more afraid to compare the best Amiga performance (Permedia2?) to the worst Linux x86 software renderer (given a decent processor)


Well, the last tests I did on my AmigaOne did show that it was much faster in software rendering than a similar clocked x86... about 80 % faster, and that's without any Assembler in the PPC version.. But I get your point...

Quote
Anyway at this stage I'm much more concerned (and dreamy) about some way to get a Makefile, wich works on BOTH Linux and Cygwin to compile on AmigaOS/MorphOS/AROS, all without having to use such a blind violence to GLU tesselators


Hear, hear :-(

Quote
I just want some people to get real, and realize that they're talking about "rendering" (e.g. how good Lightwave was, let's make a petition to have it again (!) etc.), while other platform are approaching same visual quality in realtime.


Well, the good part about modern 3D graphics is that most of the performance isn't tied to the CPU anymore... in fact, we're approaching a level where most of the rendering is done on the graphics card, and not the CPU anymore... So theoretically, it's possible to catch up there, although, of course, you're probably always behind when you're trying to compete with Windows... Well, we're working on it, that's all I can say...
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 05, 2003, 02:15:49 PM
Quote
I have never tried StormMESA in any way shape or form


Since OpenGL doesn't define a Windowing interface, and everyone rolls their own (Apple's AGL, Windows' WGL and X11's glX) it is likely that this is a reason why it fails to interoperate..

Just a guess, though.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 05, 2003, 02:16:53 PM
Quote
I have never tried StormMESA in any way shape or form. I could give it a shot tho


Take care, it's based on Mesa 3.0 (IIRC), and utterly outdated...
Title: Re: How to do 3D graphics development on the Amiga?
Post by: TheJackal on December 05, 2003, 02:17:19 PM
Quote

by Rogue on 2003/12/5 14:10:12

Quote:
--------------------------------------------------------------------------------

However if you are developing multi-platform stuff you are most likely going to "roll your own" model format, which can be quite flexable with DX and cards supporting multiple streams.
--------------------------------------------------------------------------------


Sure, the non-portability is a problem, but then it didn't stop you from using D3D in the first place  I mean, not many people in the windows world really care about portability (otherwise there would always be some sort of file I/O abstraction that is endian aware... *Sigh*)...


Yes true!

However here where I work we have platform specific formats, some *very* different. Of course this is for speed/data size issues, however if handled correctly its very simple to have the same asset data spat out into target platform formats. (as we do)
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 05, 2003, 02:20:52 PM
Quote
I understand the delay, and the need to complete the OS, but I don't understand the lack of a concrete vision and story for 3D on the Amiga. Saying that such and such API is possibly coming out, and not knowing what it actually is capable of and how it works, is not what I'm talking about.


The vision is clear: OpenGL *will* be in. Possibily, there'll be another API, but you can definitely count on OpenGL.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 05, 2003, 02:24:02 PM
Quote
We need people like yourself plugging the AMIGA product, people who do know what they are talking about.


Thanks. I don't hear that a lot, most poeple here will tell you otherwise  :-D
Title: Re: How to do 3D graphics development on the Amiga?
Post by: TheJackal on December 05, 2003, 02:24:09 PM
Quote

by EntilZha on 2003/12/5 14:20:52
[...]
The vision is clear: OpenGL *will* be in. Possibily, there'll be another API, but you can definitely count on OpenGL.
 


Count on OpenGL? I thought it was a rendering API, not an abbacus! :-D

Sorry for that, I'll go and stand in the corner now!

PS:I guess it must be Hyperions dinner time? :-P
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 05, 2003, 02:24:10 PM
Quote
In any case, I could care less if Amiga had a DirectX or an OpenGL, or something new.


Agreed. Ideally portability of the API isn't so much of an issue since most of the concepts are the same. As soon as shading languages come into the picture, things get nasty unless you use Cg, or roll your own.

Quote
What I care about is that there is some equivelent that lets me write shaders, preferably in a HLSL/Cg/Slang-eque language, which can compile down to the actual Vertex and Fragment program specs, and which otherwise take advantage of all the hardware features found in today's cards.


Like I said, NOVA is meant to be shader centric with the "normal" fixed-function pipeline being a special case.

Quote
I don't understand the lack of a concrete vision and story for 3D on the Amiga. Saying that such and such API is possibly coming out, and not knowing what it actually is capable of and how it works, is not what I'm talking about.


Oh, the question is different. It is either OpenGL 2.0, or NOVA, or both. If we go for NOVA, we already have a very clear idea about how it will look. However, the problem is lack of documentation. If we can get a good OpenGL 2.0 support we might drop the idea of rolling our own API, but if we had to write it all ourselves anyway, we'd implement the NOVA proposal (which already exists, internally).

*If* Nova comes out, we know quite well what it is going to be capable of. However, there are too many unknowns to consider (time not the least) therefore anything else is speculative, and saying this or that could be misleading.

Quote
At this point I would be happy with a gaurantee that such a featured API is coming out


There will be such an API. It's either going to be OpenGL or NOVA; but it *will* be one of the two, preferrably both.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: Rogue on December 05, 2003, 02:28:25 PM
Quote
a very nice feature for future API/OS would be for each application to render to a texture


Yes, that is a very interesting aspect. On OpenGL you need something like the p-Buffer extension to actually do that, which is a bit problematic (what are you going to do if that extension is missing). Here's my major problem with OpenGL - what if that extension is missing...

Quote
As for 3D, it would be nice to have along side vertex and pixel shaders, geometry shaders. So logical operations can be performed on "geometry" (And or Xor etc).


I'm not aware of any modern graphics card that can actually do that. They operate on isolated vertices, or fragments, but not on geometry. There is no connectivity information passsing through the shaders.
Title: Re: How to do 3D graphics development on the Amiga?
Post by: EntilZha on December 05, 2003, 02:28:34 PM
Quote
Count on OpenGL? I thought it was a rendering API, not an abbacus!


Naw, a simple stencil buffer operation can count anything :-D

Quote
PS:I guess it must be Hyperions dinner time?


Yep, just finished (which means I should get back to work ;-))
Title: Re: How to do 3D graphics development on the Amiga?
Post by: NicoPPC on December 05, 2003, 03:43:33 PM
@Lempke

Well, I don't hype up anything.
I've just listed the 3D API available for MorphOS 1.4. I' speaking
bout the public vesion that every Pegasos user can't get freely.

For the moment, the most "compatible" API is Warp3D because it's
available on MorphOS and should be in OS4.
However, I think the best choise would be to use any GL for new
application.

Bye

Title: Re: How to do 3D graphics development on the Amiga?
Post by: TheJackal on December 05, 2003, 04:08:27 PM
Quote

by Rogue on 2003/12/5 14:28:25
[...]
I'm not aware of any modern graphics card that can actually do that. They operate on isolated vertices, or fragments, but not on geometry. There is no connectivity information passsing through the shaders.


Neither do I. I was just putting forward what I see as the way things will be going. DX9 with its Higher-Order primitives is the start of this IMHO. (OpenGL does similar stuff to IIRC)

And when I said geo shader I men't the concept of a shader, not specifics as you mentioned. (Heck, branches in shaders is relatively new!)

Anyhow I dont expect you guys to implement such a thing, (well perhaps in you "spare" time :-P )