Direct3DCreate8 ce.Net 4.0
by Badguy · in Technical Issues · 04/06/2004 (9:42 am) · 15 replies
Ok, this is driving me nuts.
I've got nil expierence on the ce platform.
messing with eMbedded c++ 4
I cant help but notice that the d3d8.lib is linked for me.
I havent added it to the linker options and it links fine?
the problem is that im trying to run the dx example and the compiler cannot find :
this is nuts.
the rest of the code links fine, if I comment out the above function the app compiles (and crash's of course)
without this function I cannot get any d3d going.
I cannot find the d3d8.lib anywhere so I assume it's packed into one of the others.
Im looking for a guru on this who wouldnt mind telling me where i've gone wrong.
all the documentation I can find tell's me to link to d3d8.lib and use d3d8.h to get this function.
I've done that but it seems to ignore my library.
I've got nil expierence on the ce platform.
messing with eMbedded c++ 4
I cant help but notice that the d3d8.lib is linked for me.
I havent added it to the linker options and it links fine?
the problem is that im trying to run the dx example and the compiler cannot find :
CEDXTest.obj : error LNK2019: unresolved external symbol _Direct3DCreate8 referenced in function "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) emulatorDbg/CEDXTest.exe : fatal error LNK1120: 1 unresolved externals
this is nuts.
the rest of the code links fine, if I comment out the above function the app compiles (and crash's of course)
without this function I cannot get any d3d going.
I cannot find the d3d8.lib anywhere so I assume it's packed into one of the others.
Im looking for a guru on this who wouldnt mind telling me where i've gone wrong.
all the documentation I can find tell's me to link to d3d8.lib and use d3d8.h to get this function.
I've done that but it seems to ignore my library.
About the author
#2
tim..
are you sure?
I dont understand.
Im using ce.net 4.0 and 4.2
and they say everywhere it is there.
Im at the msdn site and dx is covered in the documentation.
I have the headers in the ce sdk.
and one of the lib's : dinput.lib
judging by what i've read on the net there is indeed support.
but ..
I cant get it working and im prone to believe ya.
04/06/2004 (9:57 am)
?tim..
are you sure?
I dont understand.
Im using ce.net 4.0 and 4.2
and they say everywhere it is there.
Im at the msdn site and dx is covered in the documentation.
I have the headers in the ce sdk.
and one of the lib's : dinput.lib
judging by what i've read on the net there is indeed support.
but ..
I cant get it working and im prone to believe ya.
#3
how come the d3d code compiles and links then?
and where did it find all the code to link to?
I didnt specify a library can you give me any hint why that is?
what "master" library is holding all this code?
04/06/2004 (10:04 am)
I'm really lost then.how come the d3d code compiles and links then?
and where did it find all the code to link to?
I didnt specify a library can you give me any hint why that is?
what "master" library is holding all this code?
#4
msdn.microsoft.com/library/default.asp?url=/library/en-us/wceoak40/html/_coconDi...
this claims to support d3d on ce.net 4.2
I cannot find any real world running example's tho.
and im still having the problem with where it find's that code to link.
04/06/2004 (10:58 am)
...msdn.microsoft.com/library/default.asp?url=/library/en-us/wceoak40/html/_coconDi...
this claims to support d3d on ce.net 4.2
I cannot find any real world running example's tho.
and im still having the problem with where it find's that code to link.
#5
And they are a certified MS partner...
Edit : the sample driver on the page you linked Badguy is for the Permedia 3 ES chip, which suppports OGL 1.2 so obviously it should support the subset of d3d :)
04/06/2004 (11:03 am)
Maybe it's for upcoming 3d accelerated handhelds, since MS must be feeling the Opengl ES pressure : 3dlabs already has chips for 3d acceleration in embedded/handheld space (3dlabs.com/embedded/index.htm)And they are a certified MS partner...
Edit : the sample driver on the page you linked Badguy is for the Permedia 3 ES chip, which suppports OGL 1.2 so obviously it should support the subset of d3d :)
#6
04/06/2004 (11:07 am)
Btw, you sure seem to be working on nifty stuff :)
#7
Microsoft Sucks..
Bigtime.
they have been pissing around with this dx on ce for 4 years
since 2000..
and here we are today still without a choice.
Im gonna go buy OpenGL ES.
then im gonna remove all the directx code from my engine, that I wrote this weekend specifically to prepare for this.
My mistake was assuming the documentation is there.
so the code will be too.
Then im gonna port the engine to Linux
and my company is gonna use linux in All our products.
and im gonna kick M$ down the street permanently..
grr im pissed.
I dont understand how the documentation can state that it works.
I must be doing something wrong.. it has to work.
Edit:
yea this up and coming product is gonna be fun :)
If I can ever get it off the ground.
no biggy if I dont go with the gl I will use GAPI like Tim suggested.
04/06/2004 (11:09 am)
Bleah..Microsoft Sucks..
Bigtime.
they have been pissing around with this dx on ce for 4 years
since 2000..
and here we are today still without a choice.
Im gonna go buy OpenGL ES.
then im gonna remove all the directx code from my engine, that I wrote this weekend specifically to prepare for this.
My mistake was assuming the documentation is there.
so the code will be too.
Then im gonna port the engine to Linux
and my company is gonna use linux in All our products.
and im gonna kick M$ down the street permanently..
grr im pissed.
I dont understand how the documentation can state that it works.
I must be doing something wrong.. it has to work.
Edit:
yea this up and coming product is gonna be fun :)
If I can ever get it off the ground.
no biggy if I dont go with the gl I will use GAPI like Tim suggested.
#8
04/06/2004 (11:44 am)
GAPI is really a bunch of suppose to be standard keys for games (although OEMs dont follow it, so I ended up writing my own input code for my games on pocket PC) and access to the screen with a pointer.. the rest is up to you. :) Its a LOT less than what directX provides. if you want to do 3d you pretty much have to use OpenGL ES on the new chipset from ATI or write a software renderer using GAPI. (PocketHAL created by a third party is free and open source and runs faster than GAPI which is created by microsoft.) You can find more info on this stuff on the pocket matrix forums at www.pocketmatrix.com. Gapidraw is an API you can use if your wanting to do 2d stuff. It runs on winCE using GAPI, windows using DirectX, Symbian OS, and Palm OS but it however is no longer free.
#9
man it looks like GAPI is all I have left
and the PocketHAL mentioned by Tim.
seem's the OpenGL ES is not ready yet either! :(
Edit:
Thanks for the tip's guys.
Guess I will now begin with GAPI.
Edit 2:
Actually Tim?
can GAPI do a 3d rotation?
say I have a surface and i want it to flip over
can I do that no problem?
(imagine like a page flipping)
04/06/2004 (11:51 am)
Ouch..man it looks like GAPI is all I have left
and the PocketHAL mentioned by Tim.
seem's the OpenGL ES is not ready yet either! :(
Edit:
Thanks for the tip's guys.
Guess I will now begin with GAPI.
Edit 2:
Actually Tim?
can GAPI do a 3d rotation?
say I have a surface and i want it to flip over
can I do that no problem?
(imagine like a page flipping)
#10
but the Reason the Billion dollar company dont have dx on ce yet is simple...
they are selling GAPI.
and dx is free.
04/06/2004 (12:07 pm)
Ok I must be stupid today not realizing this sooner.but the Reason the Billion dollar company dont have dx on ce yet is simple...
they are selling GAPI.
and dx is free.
#11
GAPI is like dos. you have to do everything in software, there is no hardware support for anything. There isnt even a FPU so you need to use fixed integer math. To do that 3d rotation.. youd have to write it all in software using a pixel "shader" (not he new shader term.. IM talking very old school) I guess.
Edit: If you'd like to discuss mobile development in realtime, I'm in #mobile on irc.maxgaming.net most of the time.
-Tim
04/06/2004 (7:48 pm)
GAPI is free.. it just isnt much to work with. Gapidraw is not free but its not made by microsoft. Made by some guys at a university in Sweden I think. They used to list it free (its what I used for both of my games on pocket PC.) but its no longer free. Microsoft decided to not put directX on winCE cause there are no hardware accelerated devices yet and its too much for such a little platform for 2d support.GAPI is like dos. you have to do everything in software, there is no hardware support for anything. There isnt even a FPU so you need to use fixed integer math. To do that 3d rotation.. youd have to write it all in software using a pixel "shader" (not he new shader term.. IM talking very old school) I guess.
Edit: If you'd like to discuss mobile development in realtime, I'm in #mobile on irc.maxgaming.net most of the time.
-Tim
#12
I don't know if this is of any value to you, but I thought I'd throw it in just in case.
04/06/2004 (8:09 pm)
CE5 will ship with D3D. Not only a hardware rasterizer by a software rasterizer done by (I think) Intel. You can get a preview copy on the MSDN site.I don't know if this is of any value to you, but I thought I'd throw it in just in case.
#13
04/06/2004 (8:37 pm)
Ken, Does that tie in with that new cross platform SDK microsoft is coming out with? to make it easy to makes games that work across windows, xbox, and Pocket PC?
#14
im really only trying to create a demo so that will be fine.
thanks for the tip!
i'll be sure and pop by the irc after I mess with this stuff some more.
Edit:
arrg..
ok maybe not.
the preview is only executable on the desktop machine.
I need to get it onto the hand held.
I will delve further.
but it is shaping up to be a cool summer if they actually get this stuff rolling!
04/07/2004 (10:05 am)
Ok im on it. ill go download it and see if I can get it to work.im really only trying to create a demo so that will be fine.
thanks for the tip!
i'll be sure and pop by the irc after I mess with this stuff some more.
Edit:
arrg..
ok maybe not.
the preview is only executable on the desktop machine.
I need to get it onto the hand held.
I will delve further.
but it is shaping up to be a cool summer if they actually get this stuff rolling!
#15
04/07/2004 (2:20 pm)
I haven't spent much time looking at CE5, and the documentation isn't very good yet. But from what I've seen this version of D3D is its own beast, not tied into any larger cross-platform effort.
Associate Tim Newell
Max Gaming Technologies