[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: [LI] Attention: 3d card owners



Hi! I just got onto this list. I am a OpenGL
programmer, so i thought i'd spill my 2 cents on
what's written here.. ;-)

--- Anand Singh Bisen <anand.bisen@xxxxxxxxxx> wrote:
> Hello
> 
>     I am back ....... with answers ..... (great this
> place is happening)
> 
> 
> Shanker Balan wrote:
> 
> > >Yes they are all supported but the 3d part of
> those cards are not
> > >utilised the rendering is done by software not
> hardware.
> >
> > To support my earlier comment about accelaration
> w/o GLX i quote from
> > the README.mga file:
> >
> > <QUOTE>
> > o Makes extensive use of the graphics accelerator.
>  This server is very
> >   well accelerated, and is one of the fastest
> XFree86 X servers.
> > </QUOTE>
> >
> > Any idea what accelaration we are talking here ???
> Also, what happens if
> > i run my Xserver with option "no_accel" ???
> >
> 
We're talking of 2D acceleration here. Most of the
cards we have right now (like S3,etc.) have
acceleration built into them, tho only 2D. They
accelerate the process of drawing lines and filling up
rectangles. U have the accelerated servers for them,
namely the XF86_S3, etc. lot. Now, for the cards which
do not support hardware acceleration for 2D, there
exists in the X server something known as XAA (
XFree86 Acceleration Architecture ). This has some
generic methods to optimize the rendering pipeline of
most SVGA cards. This acceleration is the only
acceleration u get if u're stuck using a card which is
supported with the XF86_SVGA server. A 3D card MAY or
MAY NOT support 2D acceleration. Like, in my case, I
have a Voodoo Banshee, which is a 3D accelerator, but
lacks any solid support for its 2D acceleration
capabilities in the Acceleration. Altho the card
register docs on 3dfx's website mention some 2D
acceleration, i think not all of the features are put
to use in the X server. The 3D acceleration is of
course supported thru Glide, which is used by FXMesa,
which is a Mesa driver to use Glide. btw, Glide is a
3D lib. for 3dfx cards. Its one of the most easiest to
program 3D graphics in. my opinion of course! ;-)

> > > Just try running Quake 3 Arena Test on your G200
> or G400 or whatever
> > > and just try moving a 10 steps within 15 mins
> time, and you'll know it
> > > that your card is not being utilised.
> >
> > I agree. Performance will be dreadfully slow
> because Q3A does not have
> > svgalib or softX rendering! An OpenGL complaint
> card is a must. Which is
> > one of the primary reason i want to get the G200.
> >

Q3A doesn't need to have soft rendering, as it uses
GLX for its rendering pipeline, which is supplied by
the Mesa lib. Mesa, defaults to software calculations
for rendering polys, when there is no 3dfx card, or it
hasn't been compiled with glide support. So as far as
it goes, there is no difference. However, because of
the recent DRI framework designed by PI, all the cards
can be supported, once they have what is called a DRM(
Direct Redering Module). This is used by the DRI, in
the X server, to interact directly with the 3D
hardware, sort of DirectDraw and Direct3D on
steriods... as DRI is on unix systems... ;-)
I think the cards supported by the DRI are increasing
everyday, as more and more manufacturers are giving
out their card specs... with 3dfx leading the pack...
S3 not far behind ... ;-)


> > BTW: What's the fps on timedemo ?
> 
> Dont get G200 instead go for RIVA TNT2 it's far much
> better if you are
> serious graphics coder or even gamer becaue it
> supports
> Vesa/VBE  3.0, OpenGL, DirectX and is a better
> performer,,,,,, <<<i dont
> know much on G200 but i have a friend who has
> swapped his G200
> for TNT2
> 
I think the Voodoo3 floors TNT2... u may consider
going for the GeForce 256 by NVIDIA or wait for the
Voodoo4 & 5, as they break the 1 gig. pixels/s
barrier.

> >
> > > Since when did i talked about GL here i think
> it's written GLX
> >
> > IMHO, GLX,Mesa and DRI are all OpenGL
> implementations! It is called
> > OpenGL as it has been made open source very
> recently by SGI.
> 
> I dont actually support you here because OpenGL is
> only the core library
> which is system and platform independent and
> 
> GLX is used on Unix OpenGL implementations to manage
> interaction with the X
> Window System and to encode OpenGL onto the X
> protocol stream for remote
> rendering.
> 
> Mesa3D is the non official implementation of OpenGL
> on Linux and other
> platforms by Brian Paul.
> 
> GLUT is the GL Utility Toolkit which is the system
> Indepentdent Windowing
> API by Mark Kilgard
> 
> 
> GLU is the OpenGL Utility Library. This is a set of
> functions to create
> texture mipmaps from a base image, map coordinates
> between screen and object
> space, and draw quadric surfaces and NURBS.
> 

And DRI is a way of accessing the card registers
directly, and its application to OpenGL drivers is
only one of its utility. In short, it speeds up the
whole communication between the user app, the Xserver
and the card, 2D or 3D.

> >
> > > it a some kind of library which takes the
> control of rendering from X
> > > libs and does the hardware rendering and put's
> it on the screen.
> >
> > GLX = OpenGL + X ( X on steroids ;))
> > How can it be called hardware rendering if GLX
> does all the rendering?
> > The rendering is done by the OpenGL complaint
> card!
> >

GLX only is a protocol which just sends the data
regarding what has to be rendered accross the network.
When the server recieves the request, it processes the
request, renders it using the local hardware card, and
then sends the rendered buffer back to the client.
This allows for the actual exploitation of the X's
client-server interface, so that all the tough job is
done by some humongous SGI machine, and a dumb
terminal can be used to do the actual modification of
3D graphics. The OpenGL library (eg. Mesa or any OEM's
OpenGL lib, like SGI's OpenGL, or HP's OpenGL) resides
on server, as a client to the Xserver. hope this
clears things up...

> > Now with GLX, an application can either use the
> mesagl libs or the
> > Xserver GLX API.
> >

Mesa3D is the client to X's GLX API.

> 
> <<<< No Answers >>>>> but something fishy because i
> have to use Mesa libs in
> any case because a OpenGL program on Linux cant
> function withought using
> Mesa3D libs and secondly it
> 

because GLX provides the glue between the user space
app, and the Xserver.

> Mesa3D not MesaGL ((((((IMPORTANT)))))))))
> 
aye aye siree! ;-)

> > Hmmm... If i were referring to X + OpenGL it
> should be called GLX. If it
> > is quake, i would referre to it as mesaGL. Why???
> Mesa is what the Quake
> > engines (Q1,Q2 and Q3A) use and not GLX.
> >
> 
> Nope I can render scenes with Mesa3d on X withought
> using GLX ..............

i dont think so... Mesa provides the GLX service....
correct me if i am wrong...

Sorry for the long mail... ;-)

Nikhil.
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://messenger.yahoo.com
--------------------------------------------------------------------
The Linux India Mailing List Archives are now available.  Please search
the archive at http://lists.linux-india.org/ before posting your question
to avoid repetition and save bandwidth.