PDA

View Full Version : Graphic Engine Architecture



DonDan
01-10-2002, 04:29 AM
I'm looking for technical architecture specifications of 3D graphic Engine supporting OpenGL. My question is: how can a designer contribute to accelerate graphic processing without speeding-up a CPU?

jide
01-10-2002, 05:30 AM
in the term designer , i understand that you make models for any games.
So, maybe you can optimize your models by supressing some trianlges. And try to make them as strip or fan triangles (most of time, it depends of your modeler).

i hope i answer

JD

DonDan
01-10-2002, 06:07 AM
JD,
I said designer in term of IC design. I mean which information I need to optimize the architecture of all the processing elements I put into my 3D engine to speed up the application (games, modelling, etc).
I'm looking for detailed hardware specs. How each GL function is processed, pipelined, parallelized, etc.

DD

Master Lolo
01-10-2002, 07:56 AM
Maybe, before entering OpengGL hardware specification and implementation, you should get informations on visibility determinations like occlusion culling or view frustum culling, z-sorting via octrees Kd-trees and bsp/portals, LOD, VIPM, ...
But maybe you already know all that, but maybe not.

Hope this helps

Lolo

henryj
01-10-2002, 10:57 AM
Charles Bloom has some good stuff... http://www.cbloom.com/3d/

John Ratcliff gave a very good talk at GDC which is available online... http://jratcliff.flipcode.com/
See SPEECH.DOC

and surprisingly enough Delphi 3D has some good stuff... http://www.delphi3d.net/articles.php
See the stuff at the bottom

Menne
01-10-2002, 11:29 AM
I think you should have a look on the Titan 3D engine source code which can be donwloaded form http://talika.fie.us.es/~titan/titan/rnews.html.

This engine can render Quake III maps at 95% of the original Quake III.
It contains optimized render code.

dorbie
01-10-2002, 05:12 PM
This is a broad subject with many topics, get this book, it covers a lot of material on the stuff you are asking about.
http://www.amazon.com/exec/obidos/ASIN/1...9238675-3584507 (http://www.amazon.com/exec/obidos/ASIN/1568811012/qid=1010715011/sr=2-1/ref=sr_2_79_1/107-9238675-3584507)
http://www1.fatbrain.com/asp/bookinfo/bookinfo.asp?theisbn=1568811012&vm=

dorbie
01-10-2002, 06:50 PM
Hmm... rereading the thread, you're talking about hardware design information, this is an unusual question, the book I mentoned is mainly for software designers........

How about this course:
http://graphics.stanford.edu/courses/cs448a-01-fall/

This page has some interesting related reading:
http://graphics.stanford.edu/courses/cs448a-01-fall/readings.html

There's some interesting material on both of these pages for you.

I think there's maybe some confusion on this, Software optimization for graphics hardware doesn't delve too deeply into the hardware details, it's more to do with ballancing the pipeline load, measuring what you can, and chosing the fastest path (set of opengl state) and dispatch suitable for your application.

I still think it's the book you need.


[This message has been edited by dorbie (edited 01-10-2002).]

DonDan
01-11-2002, 12:41 AM
Guys, to reply to all of you will take hours. Let me time to read and study all the tips you gave me. Anyone of you is now working of GPU architecture ? Maybe we can have a closer discussion outside the forum ... uhm ... do you think a new discussion forum on this topic could be setup ? DD

dorbie
01-11-2002, 12:51 AM
Perhaps you should clarify what you want to discuss.

DonDan
01-11-2002, 02:25 AM
Dorbie, following the first link you sent, and then the lecture of Oct 1st, at pag 4 (gpipe...pdf) there is "the OpenGL Machine" architecture.
Do you know where I can find more data about that, the picture is not viewable enough http://www.opengl.org/discussion_boards/ubb/frown.gif

Concerning the discussion forum:
I'd like to talk about hw/sw partitioning for next generation applications, games, etc and on top of that for next GPU architectures.
I saw most powerfull CPU whilst less powerfull sw optimization, loosing capability to really optimize performances, and making only a bunch of industries making money with silicon.
Technology trends to deep sub-micronics, but there will be physical end (scientists will kill me) and after ... applications will become performances consuming and then ...
I think that maintaining knowledge and capability to manage hw AND sw we will be able to take advantage of technology and not to be always slave of innovation.

I'm like Dr.Jackill and Mr. Hide, halph technical and halph philosopher. DD

kon
01-11-2002, 03:22 AM
The OpenGL State Machine and other specs are here http://www.opengl.org/developers/documentation/specs.html

kon

dorbie
01-11-2002, 03:40 AM
So you are concerned about where graphics technology trends when hardware ultimately runs out of horsepower.

Graphics is very scaleable, and a lot of horsepower and increasing die area is being spent on improving features rather than performance.

I think you have a very general question which spans multiple disciplines, but it's the kind of thing people have been working on for decades.

[This message has been edited by dorbie (edited 01-11-2002).]

Tom Nuydens
01-11-2002, 04:01 AM
Originally posted by henryj:
and surprisingly enough Delphi 3D has some good stuff...

"Surprisingly enough"? What the hell is that supposed to mean? http://www.opengl.org/discussion_boards/ubb/wink.gif

-- Tom

DonDan
01-11-2002, 04:36 AM
Graphics is down-scaleable, but what about adding newer features? Are they able to address them easily?
I guess adding new features I have to re-build my engine architecture. Industries are patching their graphic ICs, and sometime coming out with a new family.
Let immagine a flexible architecture (powerfull enough) for more than one graphic family engine and stretch it in the future.
The hw could be re-enginered, the sw will be ported http://www.opengl.org/discussion_boards/ubb/smile.gif

As you said, people have been working on for decades, but did they consider graphic?

Finally, how can we contribute, which kind of skill do we have to develop? I don't really like being only a user even if I am http://www.opengl.org/discussion_boards/ubb/smile.gif http://www.opengl.org/discussion_boards/ubb/smile.gif

I'm deriving from the right way.

dorbie
01-11-2002, 07:48 AM
Originally I wrote, people have been working on this stuff for decades, graphics perhaps perhaps more than other industries. Then I edited it, so yes this does apply to graphics.

Graphics vendors rearchitect more frequently than you think, but the overall approach is 'thematically consistent', at least for each vendor if that makes any sense.

The trends are towards more programmability of hardware, and soon there will be a layer of shader compilation between graphics software developers and the low level software interface (currently OpenGL's remit).

I don't want to rain on your parade, but these issues have been beaten to death, and continue to be. You are probably going to have to do a lot of catching up to be in a position to change the world.

You could look at the OpenGL 2.0 spec and get involved, that's happening NOW and is a chance to make a difference if that's what you crave, but understanding this stuff in depth before you get involved would be a good thing. Beyond that I suspect you'll have to work for one of the hardware vendors if you want to work on something real and make a difference. The downside there is that all these companies are awash with smart graphics people with strong convictions about graphics architecture design, but you'll learn a lot.

DonDan
01-14-2002, 02:28 AM
Thanks for your clarification. I'll go through your suggestions ...
Bye DD