Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Dark GDK 7.4

Author
Message
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 7th Aug 2009 10:28 Edited at: 10th Aug 2009 15:32
A new version of Dark GDK is now available:

The idea of releasing is to let anyone test it out and see how things are shaping up. It still needs a lot of testing with plugins, functions etc.

EDIT 10th August: New version from http://files.thegamecreators.com/DarkGDK/DarkGDK_7.4a.zip
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 7th Aug 2009 10:55
Awesome Mike, Downloading now

Can I assume that this is close to inline with DBPro 7.4 ? from a point of view of the patch change notes ?

If it ain't broke.... DONT FIX IT !!!
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 7th Aug 2009 11:05
Yes this has been built using the same source as DB Pro 7.4. Only thing is it's possible some functions aren't in the header files. Need to go through all that and be sure everything is correctly exposed.
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 7th Aug 2009 12:24 Edited at: 7th Aug 2009 17:55
Sorry to be a pain, but im gettin some link errors that im not sure how to resolve with the new version, here is the copy/paste of the linker :



and the Error List :



Here is the code im compiling, its runs fine under 7.3 and under, which I have installed..



The only variable that I can think could possibly be affecting it would be that I am using the March 2009 DirectX SDK, with a custom "dummy" multiplayer.lib ... however these link errors occur either with the "dummy" multiplayer.lib, or the GDK multiplayer.lib and are the same regardless.

Ill dig out my august07 DXSDK and reinstall its libraries so I can make sure its not actually that causing the link errors.(if it is ill post bak to say so)

Also I should probably also let you know how I installed it, I tried a few of different ways. First I unzipped the archive and just pointed visual studio to the appropriate directories, then I tried copying the archive's files over the top of the already installed GDK 16-11-2007 version, and the same with GDK 7.3(the ones that have plugins installed-dark phys, AI, lights) , I then tried copying the archive over the top of "clean" original and 7.3 GDK(no plugins installed, just GDK libs). All of the above resulted in the same linker errors that I posted above ...

EDIT : I should also say, the above code is just what I had to hand, the same link errors happen on a new project generated by the wizard and empty.

EDIT EDIT : Ive un-installed march09 directx SDK and re-installed august07 directx sdk, it seems to give even more link errors with the 7.4 archive files, whereas it works fine with 7.3 and under. Hope this is something simple to fix, I really wouldnt mind digging around in the new library

Has anybody else had similar problems with 7.4 ? If it works for the majority of people, ill have to assume its my setup and start pulling it apart to find the cause

If it ain't broke.... DONT FIX IT !!!
heyufool1
15
Years of Service
User Offline
Joined: 14th Feb 2009
Location: My quiet place
Posted: 7th Aug 2009 20:10
I'm getting some errors too Mista.
Quote: "1>light.lib(CLightC.obj) : error LNK2005: "struct GlobStruct * g_pGlob" (?g_pGlob@@3PAUGlobStruct@@A) already defined in core.lib(DBDLLCore.obj)
1>basic3D.lib(CommonC.obj) : error LNK2005: "void __cdecl DestructorD3D(void)" (?DestructorD3D@@YAXXZ) already defined in light.lib(CLightC.obj)
1>basic3D.lib(CommonC.obj) : error LNK2005: "struct IDirect3DDevice9 * (__cdecl* g_GFX_GetDirect3DDevice)(void)" (?g_GFX_GetDirect3DDevice@@3P6APAUIDirect3DDevice9@@XZA) already defined in light.lib(CLightC.obj)
1>basic3D.lib(CommonC.obj) : error LNK2005: "struct IDirect3DDevice9 * m_pD3D" (?m_pD3D@@3PAUIDirect3DDevice9@@A) already defined in light.lib(CLightC.obj)
1>LINK : fatal error LNK1104: cannot open file 'atls.lib'"

I just tried to compile a project I've been working on and I know it works because I compiled it fine just before I downloaded the update

Use Google first... it's not rocket surgery!
J_C
16
Years of Service
User Offline
Joined: 9th Nov 2007
Location:
Posted: 7th Aug 2009 21:00
Yes this looks like a bad update...
I am getting the same plus more link errors...
I recompiled my code and the DarkPhysics/Dark-AI and DarkLights
demo files before I did the update all compile and link ok...

Copy my Include and Lib folders to safe place..
Do the update... All demos DarkPhyics/Dark-AI/Darklights give link errors.

Copy my original Include and Lib folders back and they all
compile and link ok...
will wait for next update...
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 8th Aug 2009 00:09 Edited at: 4th Sep 2010 07:24
Wow, thanks for you brave souls who tested this before I tried! Now I know to wait.

The linker errors given above clearly shows duplicate definition errors between those specific librarys. Neither the GDK's multiplayer.lib or your own dummy mulitplayer.lib has those definitions(obviously not the dummy library). If it did, it would complain about that library. Plus, it has nothing to do with having the latest directx sdk installed either. The DirectX SDK is pretty much backwards capatible with thier interfaces and headers( ie: duplicate linker definition errors should never happen from the DirectX SDK side of things).

My rant here is that these errors should have been caught in house. Not by us.

Mike, do you guys plan on testing your new updates against example code and at least all the TGC plugins also when you make them?

Edit: sry if I sound rather negative... I'm just a bit concerned.

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 8th Aug 2009 03:26
Oh well, Im glad it wasnt jsut me. I was really thinking i'd done something to my setup to make it crack the wobblies at me lol Couldtn for the life of me figure it out though, tried a heap of different options to try and get the update to work but unfortunately, the errors in my first post are all i have had so far.

If it ain't broke.... DONT FIX IT !!!
heyufool1
15
Years of Service
User Offline
Joined: 14th Feb 2009
Location: My quiet place
Posted: 8th Aug 2009 05:18
If you downloaded this and found out it didn't work and forgot to backup your previous libraries and include files (like me)... here's the link to 7.3:
http://forum.thegamecreators.com/?m=forum_view&t=149319&b=22

Use Google first... it's not rocket surgery!
J_C
16
Years of Service
User Offline
Joined: 9th Nov 2007
Location:
Posted: 8th Aug 2009 17:52
Here are the build errors when I compile the DarkPhysics demos..
The Rar-file contains 3 txt files
Release build (7.4)
Debug build (7.4)
Release build (7.3) ok
Just in case they may help you.. (TGC)..

Attachments

Login to view attachments
KirDael
15
Years of Service
User Offline
Joined: 22nd Jan 2009
Location:
Posted: 9th Aug 2009 12:44
Quote: "Yes this has been built using the same source as DB Pro 7.4. Only thing is it's possible some functions aren't in the header files. Need to go through all that and be sure everything is correctly exposed."


These Commands are missing:
dbSetObjectMask()
dbSetCameraToImage(cam, img, width, height, Generate Alpha Mode, D3D Format)

Can you fix them please? thank you!
KirDael
15
Years of Service
User Offline
Joined: 22nd Jan 2009
Location:
Posted: 9th Aug 2009 12:49
oh sorry i forgot to say that this command in ShaderData.h doesn't work - the application crashes:

dbRenderDynamicCubeMap()

Can you check that command please?
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 10th Aug 2009 15:31
An updated version is available here:

http://files.thegamecreators.com/DarkGDK/DarkGDK_7.4a.zip

This should solve problems with linker errors.
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 10th Aug 2009 17:10 Edited at: 10th Aug 2009 17:38
Thank you Mike, and everybody else involved in getting this to us

Downloading now to try, ill post back with how it goes.

EDIT : The linker problems are solved, all of the apps i have tried so far have compiled, linked and run... but thats where the good news ends im afraid...

It seems there is some problem with rendering, as nothing will display, I have tried a heap of apps, ones that use complex shaders and render targets configurations through to a simple "make and spin a cube" ... the only thing that renders at all is text(using dbText) and 2d(sprites and images) - even the simple 3D empty wizard apps wont display anything(the 3d one generates a bunch of spinning spheres as its default skeleton, they dont display)

It is pasting images properly, As I have a memblock image class that I use and it works fine, my trusty plasma effect runs prefectly, it basically makes a bunch of sprites from generated images(they start as memblocks, change to images then sprites, so those 3 systems are working properly) and runs the plasma like effect through them, point is, most of the 2D stuff seems ok, though I havent played around alot yet.

Ill do some more testing tomoro and see if its something that can be gotten around, maybe something isnt being initialized somewhere, its gettin late here though and I need some sleep lol

If anybody else runs into the 3D render problem can you please post to let us know, cheers

If it ain't broke.... DONT FIX IT !!!
Techtress
16
Years of Service
User Offline
Joined: 11th Jul 2008
Location: USA
Posted: 10th Aug 2009 18:20
This update has fixed a lot of linker errors ( including about 130 error conflicts with Cloggy's D3DFunc libs ) and compiles perfectly.

But I am having the same problem with 3D rendering, not one 3D object will appear on the screen, even in the 3D tutorials & samples. Also 2D and text work great!

Another thing I'll mention: I remember this being a problem with the first nov2008 upgrade but that was later fixed, now it is a problem again with this version.

I hope to see this problem fixed soon. Keep up the good work TGC!!!
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 11th Aug 2009 05:58
I have made a couple of observations after doing some more testing myself aswell :

- 3D will still not render, I havent been able to get it too, and have tried a number of things to get it working. But the problem seems to be limited to the 3D aspect of GDK.

- 2D systems and other systems appear to be working insofar as I have tested them, which is not very much tbh(memblocks, text, core, file, soumd music etc etc)

- Memblocks appear to behave differently when working with images, previously, my memblock images werent drawn with any transparency at all, they were all solid(unless I meant for them to be transparent), now, with the same class member functions called(images should be solid), the image produced clearly has transparency(in that the background can be seen through it), this could be a change or correction in memblock image format, im not sure yet as I havent done enough testing to comfirm that.

Thats all that I have noticed so far, Ill post bak if I get 3D working on my own with how, but I wouldnt be holding my breath waiting lol

If it ain't broke.... DONT FIX IT !!!
KirDael
15
Years of Service
User Offline
Joined: 22nd Jan 2009
Location:
Posted: 11th Aug 2009 09:36
yep i've got the same problem - no 3D rendering

by the way (@TGC) : have you fixed the shaderdata.lib?
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 11th Aug 2009 10:42
@Kirdael, shaderdata.lib isnt included with the latest GDK versions, its included with the "original" 16-11-07 version only as far as I know, or DarkShader if you purchase that.

That said, most of that library works with all version of GDK, but the dynamic cube maps dont work with any...

The missing commands from there you can workaround by accessing the object's internals with dbGetObject()'s pointer and changing or accessing what you need to. You can get at the mesh and it's shaders and all of the DBO properties to manipulate the object.

Also, SetObjectMask has always been missing, I have made a function to replace it though, here you go :



It works exactly the same as the dbpro equiv command, check out my shader thread's bloom example to see it in use(near bottom of first page) :

http://forum.thegamecreators.com/?m=forum_view&t=152491&b=22

If it ain't broke.... DONT FIX IT !!!
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 12th Aug 2009 05:55
Ok, sorry for the double post, I thought I'd post back with my findings about these latest problems.

I've exhausted every option I could think of to try and get the 3D rendering, and unfortunately, I've had no luck. I tried setting up render targets to try and make it render to an image, changing the resolution with the different dbSetDisplayMode functions multiple times, tried calling dbSync and dbFastSync multiple times both before and after the SyncOn SyncRate commands(basically almost every combination of upto 3 reslolution changes with sync commands before and after each), I tried capturing the device to use manually and while the commands didnt fail, they didnt do anything either.

If anybody has any other ideas let me know and ill give em a whirl, but it looks like we'll have to wait for TGC to get another fix out to us before we can play with 7.4 properly.

On a side note, I havent noticed anything else, other than 3D related things which dont work atm and the transparency in memblock images, that isnt working the same as it was in 7.3, so once we get a working library our projects should just compile and run without any code changes.

Looking forward to exploring the speed inprovements that I read about in the DBPro 7.4 patch notes, seems sprites and the 3D system itself have been given a performance overhaul.

If it ain't broke.... DONT FIX IT !!!
KirDael
15
Years of Service
User Offline
Joined: 22nd Jan 2009
Location:
Posted: 12th Aug 2009 13:35
Quote: "It works exactly the same as the dbpro equiv command, check out my shader thread's bloom example to see it in use(near bottom of first page)"

ok - i need that command to make a Deferred Shading Lib
chunks chunks
17
Years of Service
User Offline
Joined: 2nd Jan 2007
Location: ackworth uk
Posted: 13th Aug 2009 00:29
Has anyone sent an email to mike about this yet ?

If not i will send one , really want the latest update .

chunks

nvidia geforce 9500gt + amd athlon 64
windows vista ultimate.
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 13th Aug 2009 02:51
Yeah, I sent one after the first update didnt work, but I havent after the latest one doesnt work.

If you want to let mike know that would be cool, im sure those poor blokes must be sick ofthe sight of my name in their support system by now lol

If it ain't broke.... DONT FIX IT !!!
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 13th Aug 2009 10:41
New update is attached. This includes a new core and display library.

Large scale testing will take place but in the meantime we're releasing libraries for those who want to experiment with new things. Chances are there will be problems but not to worry we will get them resolved.

Attachments

Login to view attachments
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 13th Aug 2009 12:06
Thanx again for getting a fix out to us Mike.

I understand about the problems, its just part of the process of developing a tool of this nature. I look at it from a point of view of us beta testing until we get a notice from you guys that the software is no longer beta. In any kind of beta test, you have to expect to run into problems, its just a given.

Anyway, Keep up the awesome work, it is really appreciated

ps. Downloading now to test

If it ain't broke.... DONT FIX IT !!!
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 13th Aug 2009 12:22
it's really great to see that you guys are rolling out updates for dgdk again, and putting up fixes after a matter of days. really great news. well done
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 13th Aug 2009 12:49
All systems are working for me so far.

Nothing is broken that I have noticed at the moment.

Ive run a bunch of my various 3d snippets to test things, makeing memblock meshes(both welded/unwelded terrains), vertex manipuilation, basic object manipulation like scaling and translation, texturing etc, it all seems to be working now.

Ill post back if I notice any issues, but I have noticed one that I would like to mention.

Memblock Images, has the format changed in relation to transparency ?

Basically, under GDK 7.3 and lower , my memblock images will be created without transarency and solid, the background wont show through them, but in 7.4, they are produced with transparency, as the background can be clearly seen... ill see if I can stick together an example with some code when I have the time and post it back, its not a big deal as they still work, and its not alot of transparency, something in the order of 10-15% I would say as they are still quite visible, just curious if its a deliberate change or not.

Also lastly, thanx again tgc for workign to fix this for us, im looking forward to playing with it, like a kid on xmas day lol

If it ain't broke.... DONT FIX IT !!!
dark coder
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 13th Aug 2009 13:30
Interesting, I just recompiled this one project that's many thousands of lines long and it actually worked without any difference(that's a good thing). I can now unhook the VSync too so yey.

One thing I had to alter yet again was to wrap #define WIN32_LEAN_AND_MEAN because someone never wraps this in ifndef/endif! /me shakes fist.

Anyway it's good DBPro and GDK are now almost the same, I've been using an older version of GDK for quite some time now, I even expected several BSOD or crashes or something to occur. Now someone just needs to run BoundsChecker and fix instances of using delete on stuff alocated by new[].

Gervais
20
Years of Service
User Offline
Joined: 11th Mar 2004
Location: Canada
Posted: 13th Aug 2009 13:45
Just a stupid question where are the Cloth command that are in DBP 7.3 if this release is in line with DBP 7.4 then they should be somewhere?
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 13th Aug 2009 13:57 Edited at: 13th Aug 2009 13:58
I believe they are part of the DarkPhysx commands in GDK arent they ? the libs that contain the relative commands come with that download anyway, but im not sure if you can get them anywhere else or not...

If it ain't broke.... DONT FIX IT !!!
Gervais
20
Years of Service
User Offline
Joined: 11th Mar 2004
Location: Canada
Posted: 13th Aug 2009 14:04
They have been added to DBP from one of the add-on and not from DarkPhysx they are very nice to use in DBP but somehow I can't find them in this version they should be part of the core by now so Mike where are they or did you forgot to include them
prasoc
15
Years of Service
User Offline
Joined: 8th Oct 2008
Location:
Posted: 13th Aug 2009 16:18 Edited at: 13th Aug 2009 16:20
Why no 3d? It still doesn't work for me The commands for 3d are still completely broken even after I applied the 12th august one :S


EDIT: it does work I forgot to build it


Your signature has been erased by a mod
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 13th Aug 2009 21:33
seems to be working ok here too
Techtress
16
Years of Service
User Offline
Joined: 11th Jul 2008
Location: USA
Posted: 13th Aug 2009 23:56
It's working better now but there are still a couple of problems for me.

The first one is if I apply an effect shader to a 3D object it vanishes.

The other problem won't let me move the camera without erasing every 3D object.

I reverted to the old version and everything works fine. I'm not sure what's causing the problem or if this problem exists on any other machines.

Any advice is appreciated . I'd also like to know if anyone else has these problems.
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 14th Aug 2009 00:42
hmm, all of my shader demos that are in my shader thread compile and work under 7.4 for me, they were some of the ones I tried, and the project im working on now is shader related and seems to be working fine.

Perhaps its something to do with your drivers or where the effect file is located or something ?

If it ain't broke.... DONT FIX IT !!!
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 14th Aug 2009 04:53 Edited at: 4th Sep 2010 07:25
Ahhhh much better!

Sync Rate (0)

Still does NOT work like Dark Basic Professional, yes, as it should.
When applying sync rate of 0 it should be just like the setting the dbSetDisplayModeEx vsync parameter to off.
When applying sync rate of 0 it still caps the fps rate at 60.
When applying sync rate of 0 it SHOULD uncap the fps rate to let the programmer deal with how fast rendering gets updated.

Even the Dark GDK documentation agrees with me that it should be like Dark Basic Professional, see:

dbSyncRate
This command is used to change the default refresh rate dbSyncOn uses to control the speed of the dbSync update speed. The default rate sustains the 'Frames Per Second' at no more than 40fps. You can specify an integer value from 1 to 1000 to set a new maximum rate. A rate of zero will allow the program to refresh as fast as the system will allow. A forced sync rate cannot produce an accurate rating as in order to keep the refresh smooth, the code can only work with milliseconds which is not an accurate method of timing. The system is designed to treat smoothness more important than frame rating accuracy.

Just in case, if you missed it... it sayz:
A rate of zero will allow the program to refresh as fast as the system will allow.

This needs to be fix'd! Thankyou.

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
sydbod
16
Years of Service
User Offline
Joined: 14th Jun 2008
Location: Just look at the picture
Posted: 14th Aug 2009 05:07 Edited at: 14th Aug 2009 05:12
Quote: "Just in case, if you missed it... it sayz:
A rate of zero will allow the program to refresh as fast as the system will allow."


I think you may have missed one very important point.
The video card driver happens to be part of the system and not part of your program.
If this drive is set for "Wait for vertical sync" then the system will allow a maximum frame rate of whatever the vertical sync happens to be set for the monitor.

If the video card driver has "Wait for vertical sync" disabled, then the system is no longer locked to the monitor vertical sync rate and can go much higher.

I think you will find that "dbSyncRate ( 0 )" is doing exactly what the documentation says.
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 14th Aug 2009 05:13 Edited at: 4th Sep 2010 07:25
Nope. then it should do the same with dbpro

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
sydbod
16
Years of Service
User Offline
Joined: 14th Jun 2008
Location: Just look at the picture
Posted: 14th Aug 2009 05:18 Edited at: 14th Aug 2009 05:21
Quote: "Nope
"


Are you sure you are not thinking of "dbSetDisplayModeAntialias ( )" as this is the function that is used to also disable "Wait for vertical sync" inside of the video card driver.

EDIT:BDPro may work differently, but we are talking about the documentation and the function, and from what I can see things are correct between the two.
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 14th Aug 2009 05:30 Edited at: 4th Sep 2010 07:25
I know that one can turn off and on the vysnc manually via a device configuration manager. This is about what the command dbSyncRate does for a DarkBasic Professional program and what it Should do for the GDK.

This command itself controls the refresh rate by itself. It's coded that way. If I wanted, I could code A C++/DirectX app that can have a unlimited refresh rate without worrying about if the DRIVER itself has a vertical refresh rate locked or not.. also. dbSyncRate doesnt rely on the driver if it's locked or not. If it did, there wouldn't be a need for dbSyncRate as the only two options you would have is On And Off. If I'm wrong, Lee please come in here and slap me silly! I mean, it works perfect for DBPro, but now in Dark GDK, it relies on the monitor refresh rate or "wait for verticle sync" or etc... ???

Why would dbSyncRate 0 be different here in the DarkGDK?

Why would it not be the same as DBPro when it supposed to be running off the same code base??

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 14th Aug 2009 05:38 Edited at: 4th Sep 2010 07:25
Quote: "
BDPro may work differently, but we are talking about the documentation and the function, and from what I can see things are correct between the two. "


That's more to my point then. Dark GDK and DBPro should act the same. For DBPro, when people set dbSyncRate to 0, we get refresh as fast as the system will allow( ie: no capping by the driver ). In GDK, we get capped at monitor refresh rate , 60 for me. Making dbSyncRate 0 useless.

After all Dark GDK came after DBPro and it's using the same code base. I want my ported DBPro program to work the same in Dark GDK. Is that not a fair statement?

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
sydbod
16
Years of Service
User Offline
Joined: 14th Jun 2008
Location: Just look at the picture
Posted: 14th Aug 2009 05:49
Maybe it has something to do with continuity of how DarkGDK has always worked like.
"dbSyncRate ( 0 )" has never turned "Wait for vertical sync" on/off .

I am not disagreeing with your point of compatibility with DBPro and DarkGDK, but I would be horrified if "dbSyncRate ( )" actually did touch the driver settings. The last thing one wants is for the program to produce screen tearing just because some user happens to change their screen refresh rate on their machine, and it becomes different to what is set by the "dbSyncRate ( )" command.
From what I can see, there has to be a deliberate entry for turning "Wait for vertical sync" on/off. If an extra parameter was added to "dbSyncRate ( )", and the documentation changed accordingly, then that would be fine by me also (even though we have that capability within "dbSetDisplayModeAntialias ( )")
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 14th Aug 2009 06:01 Edited at: 4th Sep 2010 07:26
I completely understand what your saying. Specially the tearing. The programmer would have to set the refresh rate on his/her own.

I really don't think dbSyncRate touches the driver directly... mabie indirectly through DX. I'll see if I can look up some info from the DX SDK. Ofcoarse, I may be thinking wrong, I'm trying to remmember what I did way back when with having refresh rate go fast as it can when I dabbled with C++/dx...

Quote: "
Maybe it has something to do with continuity of how DarkGDK has always worked like.
"


GDK always worked like that because it never has been fix'd! lol

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 14th Aug 2009 06:41
Since GDK 7.3 we've been able to change the sync rate in a similar manner to DBPro.

In GDK, we use dbSetDisplayModeAntialias() or dbSetDisplayModeVSync() . Once you have used one of those 2 commands to set your display mode, rather than the vanilla dbSetDisplayMode(), you can call the dbSyncRate() command with whatever value you like, 0 will run it as fast as it can with no sync limiting from the system, you'll get tearing though that way.

Note that you need to pass the parameter "iVSyncOn" a value of 0(zero) to enable the syncrate to be controlled with the dbSyncRate command.

Im not sure why it is different than DBPro in that way though, but it is just the way GDK has always been, it may have something to do with the difference between GDK using a static library and DBPro calling its functions from a DLL and how the 2 are setup.

If it ain't broke.... DONT FIX IT !!!
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 14th Aug 2009 07:13 Edited at: 4th Sep 2010 07:27
I guess that is what is confuessing me. I know you can do it with those paticular SetDispalyMode functions. But, it just didn't compute with me that DarkGDK would act differently with out it.

Ofcoarse now thinking about it, DBPro does allow default fullscreen/window modes with different resolutions that you can select via whatever Dark Basic Pro code editor you use. Without using the SetDisplayMode directly in your DBPro code, the default settings get used with the vsync off. Thus, dbSyncRate 0 gives us what the documentation says it will give you. So that works well in the DBPro programming environment. Ofcoarse, in Dark GDK, we dont have those default options you get in an editor. Leaving the programmer more responsiblity to set up the Display in a more direct manner code wise. So what you said makes more sense to me now, Mista Wilson. Thanks.

I think I'm getting it now. Thanks sydbod and Mista Wilson for helping me make sense out of my non sense. Sry about making a mess of this thread.

ExoDev.Com - A Game Development Community Website! Featuring: XBOX360 CONTROLLER LIBRARY
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 14th Aug 2009 09:09
Ahh yes I see, you are exactly right Todd. That would be the exact reason the its different in DBPro.

I would assume that "behind the scenes" when you are selecting the displaymode from within the IDE it would do some form of similar setup to how we do it in GDK, at least to achieve the same thing.

Im glad you pointed that out, makes alot more sense to me now aswell

If it ain't broke.... DONT FIX IT !!!
sydbod
16
Years of Service
User Offline
Joined: 14th Jun 2008
Location: Just look at the picture
Posted: 14th Aug 2009 12:17
Apologies for not testing this out myself, but I don't have access to a machine at the moment where I can load DarkGDK onto. Could some one please test if the fog has been fixed in this version.

In the old versions I used to use they had the following problems.
dbFogColor ( 255, 0, 0 ); //produced GREEN fog, should be RED
dbFogColor ( 0, 255, 0 ); //produced BLUE fog, should be GREEN
dbFogColor ( 0, 0, 255 ); //produced BLACK fog, should be BLUE
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 14th Aug 2009 15:23
At the moment im not sure about the coloring, but they still dont like working with external shaders.

The fog seems to ignore all the colouring and lighting commands, from all kinds of lights, ambient, directional, point light..
It is either not visible at all, or if you set it to be just a little closer than you would like, the whole scene will be black, unless you tell your objects to ignore fog, in which case, everything except them is black lol...

Could probaby get around it with proper render targets setup I guess, turning it on and off, but thats alot of work.

The internal shaders it doesnt like at the moment are detail mapping and shadow shading and reflection shading that I know of. I havent tried any others with GDK native fog yet. Ive been using shader based fog for awhile now, I found that with us having so little control over native GDK fog, it kind of limited what you could do, plus it never liked external shaders, so i always found it easier to just add fog into the shader if possible.. you can get alot more control over the fog I think that way.

If it ain't broke.... DONT FIX IT !!!
Techtress
16
Years of Service
User Offline
Joined: 11th Jul 2008
Location: USA
Posted: 14th Aug 2009 16:00
Quote: "Mista Wilson

Perhaps its something to do with your drivers or where the effect file is located or something ?"


I'm pretty sure I have the latest stable graphics drivers. I haven't changed the directory of the effect in ages or anything in my code to point to a different location so I don't think the problem is where the effect is located.

The shaders I am using are Evolved's Parallax Mapping and Dark Shader's Normal Mapping. Both I converted to use 16 lights.

Maybe I did not install 7.4 correctly, or got a bad download. I'll try and reinstall it again and see how it goes.
Mista Wilson
16
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 15th Aug 2009 16:34
Im not sure Techtress, there is a demo in my shader thread using both parallax mapping and normal mapping, using evolved's shaders(unmodified though) and they both re-compiled and ran fine with 7.4, so the problem must be on your end somewhere I guess, check that everything is setup how its meant and then double check is all I can suggest im sorry.

Maybe try some unmodified shaders that you know work, as a control, to see if it is your system or software or not...

Anyway, I also wanted to post something up here to say I have done some testing with some TGC addons with GDK 7.4.

Ive Tested DarkLights, DarkPhysics, DarkAI, EZRotate4 and Tree Party 1.13 (all addons are latest versions available with all patches applied). All of them have worked without a problem so far. I havent done any "stress testing" but where I have used them in various projects that work under previous GDK versions, they work the same under 7.4, so as far as those 5 addons go, it all looks good. If I notice any issues while im using the above addons ill post back to say.

Also, in regards to my memblock image transparency issue, it appears that I was a little off base... the one member in that class I am using that doesnt actually create a memblock image was the one I was calling to test with, it captures straight from a bitmap instead.. although the transparency issue still exists, the captured image is solid in 7.3, transparent in 7.4.

If it ain't broke.... DONT FIX IT !!!
Techtress
16
Years of Service
User Offline
Joined: 11th Jul 2008
Location: USA
Posted: 17th Aug 2009 22:02 Edited at: 17th Aug 2009 23:14
You were right, I tried example projects and they all work perfectly and much faster too. I even applied my modified shaders to the objects and it worked.

I guess this problem is related just to my project because 7.4 is still not working for it. I will go through my project and correct the mistakes if possible, if not I may have to partially reprogram it.

Thanks for your help anyway and sorry to bother you with my own mistakes. I'll post if I find the exact problem and if it is something important I can tell others to avoid.

v-----------EDIT-----------v

I think I have found the problem! and I believe there is a conflict with DarkGDK 7.4 and Cloggy's D3DFunc libs (not the compiler issue, it compiles fine).

I created an entirely new project and when I #include "D3DFunc.h" no 3D object is visible on the screen, but when I take that command out everything works.

I use D3DFunc a lot in my projects so this is kind of preventing me from continuing my 3D projects with D3DFunc. I'm not 100% sure D3DFunc is the problem but I don't know what else could be causing it.

Login to post a reply

Server time is: 2024-10-01 16:46:50
Your offset time is: 2024-10-01 16:46:50