Subject:
|
Re: Mac Brick CAD and the Imerial Star Destroyer
|
Newsgroups:
|
lugnet.cad.dev.mac
|
Date:
|
Thu, 20 May 2004 16:12:12 GMT
|
Viewed:
|
2779 times
|
| |
| |
In lugnet.cad.dev.mac, Travis Cobbs wrote:
> Your expectation is certainly justified. I don't know what the driver
> architecture is on the Mac, but I suspect that the video hardware manufacturers
> are responsible for the OpenGL implementation for their own hardware, just like
> on the PC. If this is the case, then it is ATI that's responsible for doing the
> right thing with the data (or not doing the right thing).
>
> Just out of curiosity, how are you drawing your geometry? On ATI hardware on
> the PC, I think vertex arrays are faster than OpenGL 1.0 glVertex calls, even
> when encapsulated inside a display list. This doesn't seem to be the case on
> nVidia hardware on the PC. (It might also not be the case with recent ATI
> drivers.)
Travis
Having done some experiments and research over the last couple of days, it seems
that to get very fast drawing in OpenGL generally, vertex arrays are necessary.
OpenGL has specific commands such as glBufferDataARB that will explicitly
transfer the info into the graphic card's RAM (only availible on newer cards)
and likewise MacOS X also has commands that give the graphic card DMA access to
the Mac's RAM (again only for newer cards).
Based on some crude and unsophisticated tests there does appear to be hardware
acceleration with respect to drawing in that the cards seem to be able to decode
and render OpenGL commands (for example, a command like gluCylinder draws
noticeably faster than creating the same object from a series of vertex normals
and quads or quad strip). The OpenGL lists themselves seem to be stored in the
client (ie in Computer RAM) and therefore each time a list is called, the
commands contained within the list are passed from the client to the graphic
card so reducing the size of the list does have tangible benfits.
This means two things, I need to learn how to make vertex arrays and I need to
reduce the info being transferred when drawing.
Don,
You mentioned that MacOS X is effectively triple buffered when using double
buffering in OpenGL. This is true, but I'm not sure how MacOS X achieves this. I
believe that it takes a bitmap copy of the display buffer, so there should be
minimal impact on the drawing time. One great thing about this though is when
you move or bring the model window to the foreground, MacOS X uses its buffer
and therefore makes instant screen updates.
Andrew...
|
|
Message has 1 Reply: | | Re: Mac Brick CAD and the Imerial Star Destroyer
|
| (...) Just as a note, I found that Vertex Buffer Objects (VBOs) would crash my ATI card in Windows when used inside a display list. As far as I can tell, this isn't supposed to happen. Regular vertex arrays work fine inside a display list. General (...) (21 years ago, 21-May-04, to lugnet.cad.dev.mac)
|
Message is in Reply To:
| | Re: Mac Brick CAD and the Imerial Star Destroyer
|
| (...) Your expectation is certainly justified. I don't know what the driver architecture is on the Mac, but I suspect that the video hardware manufacturers are responsible for the OpenGL implementation for their own hardware, just like on the PC. If (...) (21 years ago, 17-May-04, to lugnet.cad.dev.mac)
|
19 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|