Thanks
Mat
There is Retained Mode, which manages geometry for you (this is what used
to be MS Reality Lab, and before that - Rendermorphics).
And then there is Immediate Mode, which is the interface to a low-level
rasterization engine. Which one is specified by the program, there are two
software implementations (HEL's) - RGB and ramp model -- and HAL which
works with hardware.
When you say "bypass Direct3D" sound like you mean "bypass D3D Retained
Mode". Well that's simple just don't use it.
There are samples in dxsdk\sdk\samples\ that are bulit on top of the
immedite mode. Most of the common setup code is in samples\misc. Also, all
samples but two use HAL in conjunction with transformation module to be
able to specify xyz in model space. The two samples that don't is triangle
and some other which I can't remember now. Take a look at triangle sample
if your points are already transformed into screen space (and clipped,
preferably). This is the fastest, lowest level interface...
Hope this helps.
--
Kostya Vasilyev -- Principal Engineer -- Axial Systems, Inc.
"A true Information Society is a society made of informers."
-- Bruce Sterling in "Holy Fire"
Mat <matthew...@ndirect.co.uk> wrote in article
<32D810...@ndirect.co.uk>...
I was looking into this, and I don't think it's possible. In immediate
mode,
you build "packets" which specify vertices, texture coordinates, and stuff.
It looks very much like the D3D hardware driver just takes these packets
and
does the minimum translation needed to send it to the card. In order words,
the HAL is the lowest layer whose inputs are hardware-independent. So,
short of programming directly to the a specific piece of hardware, there's
no
lower level in Direct3D.
Fortunately there doesn't seem to be much overhead in the D3D translation
layer.
-Tim
Sorry, I've found that there is an enormous overhead in this area,
which comes into play when you try sending more than 1000 polygons.
Jim
Well, considering that it CANNOT be done with DirectDraw (quoth
Microsoft), I would assume that it cannot be done with Direct3D, either.
John
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
John Doty |"We can fly- We have wings...
Anime Fan, Programmer-at-large | We can touch floating dreams...."-Macross +
do...@andrew.cmu.edu |"The deepness of one's sorrow upon parting
http://bifrost.res.cmu.edu/ | is the evidence of the deepness of one's
| v @ | love, so... if one fears sadness, one
^_^ ^_^ ^_^ | wouldn't be able to love anything."
Belldandy Urd Skuld | -Belldandy, "Don't fear sorrow"
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
====================== --==(UDIC)==-- Keiichi Dragon =====================
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
But then you are also stuck with the limitations that the card has.
ie.
1) Matrox Millenium does not support texturing.
2) ViRGE does not support texturing in 888 RGB mode.
3) Neither cards support Phong.
And so on... <sigh>
Kind regards, Henning Semler
Luckily you are wrong - or a lot of us would be depressed :) !
The reality is that if you write your code correctly, you will ALWAYS
use the HAL *if your board has the capabilities you want * and if it
does not, you can take advantage of all that the board does have and
only use HEL for the things the board cannot do.
Thus, you can write code that will cater to the best hardware, BUT, if
people do not have the best, use what they have to the best it can be
used. Direct3D will check for the capabilities of the board and if it
can use the hardware to do something, it will!
Peter
<SNIP>
>>
>> But then you are also stuck with the limitations that the card has.
>> ie.
>> 1) Matrox Millenium does not support texturing.
>> 2) ViRGE does not support texturing in 888 RGB mode.
>> 3) Neither cards support Phong.
>>
>> And so on... <sigh>
>>
>> Kind regards, Henning Semler
>
>
>Luckily you are wrong - or a lot of us would be depressed :) !
>
>The reality is that if you write your code correctly, you will ALWAYS
>use the HAL *if your board has the capabilities you want * and if it
>does not, you can take advantage of all that the board does have and
>only use HEL for the things the board cannot do.
>
>Thus, you can write code that will cater to the best hardware, BUT, if
>people do not have the best, use what they have to the best it can be
>used. Direct3D will check for the capabilities of the board and if it
>can use the hardware to do something, it will!
>
>Peter
Sorry Peter! What I meant was, that if you use the HAL directly you are
limited to the capabilities of the hardware. This was not a comment on the
D3D layer.. Sorry for any confusion..
Kind regards, Henning Semler
The HAL and the HEL are two different entities. You can't intermix
capabilites at your whim. For instance, MS's HEL supports specular
lighting but some cards do not therefore if you choose hardware
acceleration and ask for specular lighting, you may not get it.
Ian Bullard