Wait a minute...something's wrong(?)

Started by
28 comments, last by Xelius 23 years, 6 months ago
--------CDirectX Object created
Beginning initialization...
Could not create Direct3DDevice7
Destroying data
CDirectX Object destroyed

Is what I get. What does your IDirect3D7::CreateDevice call look like? Which IID are you using? Are you using IID_IDirect3DTnLHALDevice or IID_IDirect3DHALDevice? Or are you enumerating?

------------------------------
#pragma twice


sharewaregames.20m.com

Advertisement
That's odd. Hmm, I have a new version which I will post with in 10 minutes of 7PM eastern time (NY). First, I create the D3D object:

hr = lpDD7->QueryInterface(IID_IDirect3D7, (void **)&lpD3D7);

Then, I just make a call to lpD3D7->CreateDevice, as follows:

hr = lpD3D7->CreateDevice(IID_IDirect3DHALDevice,Target,&Device);

It works fine on my laptop and my desktop machine. My desktop is using a Diamond Viper 770, and my laptop has an ATI Rage Mobility. It's quite odd that it doesn't work.

The new version includes:
- Actual attaching of a Z-Buffer (the previous version apparently didn't really attach it, because when I tried to clear the buffer it failed, and said I had no buffer attached.)
- Z-Buffer clearing, which gets rid of all the funny artifacts that were occuring when I had attached the Z-Buffer previous (and apparently correctly) to creating the D3D Device.

Also, after talking to a friend of mine at school today, we came to the conclusion that something is wrong with the buffering. After looking at it, it appears that because I'm only rotating with the View Matrix the points that closer force themselves to stay that way by overwriting the polys that "should" be closer. Hopefully you'll see what I mean if you can actually run the bloody thing!

Thank's again for your help. It's greatly appreciated.

-=xelius=-


Edited by - Xelius on October 12, 2000 7:05:25 PM
-------------------"Pointer?" -Anonymous-=Xelius=-
In your new version, I get:
--------CDirectX Object created
Beginning initialization...
Could not attach Z-Buffer to Render target
Could not attach surface
Failed to attach to surface
Destroying data
CDirectX Object destroyed

Are you enumerating Z-Buffer formats or just choosing one that works?
I''m enumerating, but I''m not sure if I''m doing it right. I''m just enumerating till I find a format that''s a Z-buffer. I presume that''s what you mean by saying "just choosing one that works". I''ll take a look in the DX docs to see if their''s any further info, and then I''ll post again when I make a change.




-=xelius=-
-------------------"Pointer?" -Anonymous-=Xelius=-
Okay, I updated the program one more time. I fixed the weird depth problem. It seems that I was defining my viewport wrong (0 to 60 zdepth) and that was forcing everything to the front. So, I changed it from 0 to 1 and it works fine. However, I would still like to find out why it doesn''t work on your computer. Please download the new version and see if it works better. Thanks.




-=xelius=-
-------------------"Pointer?" -Anonymous-=Xelius=-
It would appear that I get an error creating the Direct3DDevice object again. I can''t figure out why this is happening.

------------------------------
#pragma twice


sharewaregames.20m.com

Neither can I, unfortunately....

I've got as much in the way of ideas as "a eunuch has in his underpants." (As the Black Adder once said....)

jeez. If it's not one thing, it's the other. Wanna check out the source? That's the only way I can think of helping you. I'm not sure exactly what's going wrong. I've tried it on a few computers recently, and they seem to work.

I warn you though, it's scary stuff!!!!!
(That's what happens when you write most of it during the wee hours of night on school nights)

Talk to you later. Thanks.








-=xelius=-


Edited by - Xelius on October 17, 2000 3:51:31 PM
-------------------"Pointer?" -Anonymous-=Xelius=-
Hey! I think I know what''s going on, but that all depends on what kind of video card setup you have. Do you, by any chance, have a 2D card with a pass through accelerator????? If you do, that''s why it can''t create the Direct3DDevice7 object....My sister''s computer (which is my older computer) uses an 4MB 2D card and a Diamond Monster II with 8 MB of video ram on it. It''s a pass through card so the setup that I have does not detect this sort of thing.

Is this the case?

Let me know. Thanks



-------------------"Pointer?" -Anonymous-=Xelius=-
Hmm.. other direct3d programs work fine on it, but I think I do have a pass-through setup. The reason I say this is because when I enumerate my devices, I get the Direct3D HAL device, but I also get Trident Cyberblade IIIC (my crappy 3d card) there also. This is a laptop system, so everything is built into the motherboard, so I can''t change my gfx card. It could well be the problem though.

------------------------------
#pragma twice


sharewaregames.20m.com

Works perfectly on my machine.
Win2K, Geforce 256 using Detonator 3 (6.31)

This topic is closed to new replies.

Advertisement