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 / Please releaqse a paid version of DarkGDK, which is updated regularly...

Author
Message
Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 03:52
I figured out how to do plugins, my project is about 90% back to where it was, almost everything is working, just gotta clean it up.
Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 04:06
how do you perform a check list for graphics cards?
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 04:12 Edited at: 8th Aug 2011 04:24
Quote: "Mistrel, I hope I didn't offend you in any way with my last post. I just think that £81 is a little high when a commercial license for DarkGDK is only around £30."


I only make about have about £16 per copy sold. So I can't afford to go much lower.

Most of that cost is actually part of the DarkBasic Professional license. If you read the description for the £81.99 one:

Quote: "This pack includes both DarkBASIC Pro and PureGDK."


So.. £43.99 for DBP + £37.99 for PureGDK (see the upgrade price) is £81.99.

It's actually cheaper to buy the Dark Game Studio Bonanza instead. Save yourself "£296.72" on the bundle price (excluding PureGDK, of course).

.. £31.16 + £37.99 so.. £69.15 for a cool bundle with PureGDK plus tons of extras.

Or £0 for DBP Free + £37.99 upgrade. You have a lot of options.

The "upgrade" version means that you are upgrading from DBP and already own a license. So if you do, there is no reason to buy the more expensive version.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 04:16
Quote: "How do you perform a check list for graphics cards?"


See the documentation and navigate to:

How to > Basics for C++ > Fundamentals

Scroll down to "How to change the resolution". The last snippet at the bottom is what you want:

Quote: "Identifying supported resolutions is also very easy using the Win32 API. Consider this example which will output all resolutions supported by the user's monitor matching the current display depth, refresh rate, and aspect ratio of the desktop."


Below that is the example source code.

PureGDK removes commands from the DarkBasic Professional feature set which are redundant. The checklist commands for the display resolution already exist in Win32, which is easily accessible to you through C++.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 04:25
Not display resolution:



this command needs to be here because by default my system selects my onboard graphics card and it sucks, so I need to be able to change the actual graphics card used.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 05:03 Edited at: 8th Aug 2011 05:04
How do you intend to set the graphics card?

According to the documentation for "SET GRAPHICS CARD":

Quote: "This command has been permanently discontinued given the nature of modern graphics card solutions."


I assumed it no longer worked. If you can confirm that it does in DBP, I will add it back to the command set.

Also, DBP should default to the "primary display device" in all cases which I would assume is whatever is running your monitor. Is this not the case?

Does this behave differently in DarkGDK?

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 08:15
In many cases in darkgdk i've had to use these commands in order to get shaders to work for some reason, the shaders just flat out wont work for some reason on my comp without it. I seem to be having the same problem with this now because setshadowshadingon is not working properly, it displays no shadow. It displays a shadow if I set no parameters except for the object number but that is incredibly slow and just goes to show that the wrong graphics drivers are being used because when I set it to use the shader it displays nothing. I managed to get it to shade the level but no actual shadow shows up.
Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 08:37
Okay, I have verified that the commands work in dark basic still, if I could get those commands itd be excellent thanks maqn.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 09:38
Alright. I will add these back for you.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 09:48
Thanks, or maybe my code is wrong? This does nothing really:
dbSetShadowShadingOn(1,-1, 100, 1);
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 09:58 Edited at: 8th Aug 2011 10:07
Quote: "Thanks, or maybe my code is wrong? This does nothing really:
dbSetShadowShadingOn(1,-1, 100, 1)"


The second parameter expects a MeshID. Why are you passing -1?

That parameter name also doesn't make any sense. I've renamed it to "meshIndex", which is what it really is.

It's asking for what mesh "index" of the target object should cast the shadow. The default parameters are:

dbSetShadowShadingOn(objectID, 0, 1, 0)

A mesh index of 0 is the root mesh which should be the whole object, excluding limbs, I think. Try that.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 8th Aug 2011 10:46
i've tried that as well, didn't work, I'm pretty sure it has to do with the video card issue.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 8th Aug 2011 11:31 Edited at: 9th Aug 2011 03:18
Quote: "I've tried that as well, didn't work, I'm pretty sure it has to do with the video card issue. "


Alright. I'm going to show you a little bit of how PureGDK works and how you can fix this yourself for the time being; so you won't have to wait for the next beta.

Start -> Programs -> PureGDK -> Shortcuts -> PureGDK Installation

Then navigate to:

templates -> libraries -> core

Open "Display.gdt" in a text editor and append the following lines:



Then recompile the engine headers and libraries to make use of the changes:

Start -> Programs -> PureGDK -> Compile Headers And Libraries

Voila! You now have these commands available to you.

Indicium
15
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 8th Aug 2011 18:43
Quote: "I only make about have about £16 per copy sold. So I can't afford to go much lower."


I fully understand. Again, sorry If I offended you at all. I'll give the product a try and hopefully it will get a little more noticed. It looks absolutely great!

Quote: "was only possible in DBPro using IanM's Matrix1 utils. Mistrel sorted these out today and added those to the new update which I now have."


Wow! I'm in! :3

Indi.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 9th Aug 2011 02:43
hey, as much as I want to continue using puregdk for the framerate and other things, I just cant live without my shadow shading, and being able to set the graphics card is a must for me but it looks like the graphics cards commands have been removed from dark basic which is a bummer. Don't know if I can continue or not I'll have to think it over.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 02:45 Edited at: 9th Aug 2011 02:46
Quote: "I just cant live without my shadow shading, and being able to set the graphics card"


I explained how to do this three posts up in my response.

Indicium
15
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 9th Aug 2011 02:46
Quote: " being able to set the graphics card is a must for me but it looks like the graphics cards commands have been removed from dark basic which is a bummer"


Did you read Mistrel's post at all? He told you exactly how to add those commands.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 9th Aug 2011 03:05
Did you guys read my post? I've added the commands but it looks like tgc completely disabled the commands even though they still are listed. So since I cant select the proper graphics card, shadow shading displays no shadows. I've tried everything to get shadows to work but it just wont without those commands, it sucks.
Indicium
15
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 9th Aug 2011 03:13
But this is about about PureGDK, not dark basic.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 03:16 Edited at: 9th Aug 2011 03:21
I don't understand.

Quote: "Okay, I have verified that the commands work in dark basic still, if I could get those commands itd be excellent thanks man"


I thought they worked? I have only one graphics card in my machine so I can't test them.

I'm reading over the DBP source code and I found this:



What command are you calling in DarkGDK to do this? The command Lee made says it was never implemented. It's being exported for DarkGDK, which suggests that it shouldn't work there either?

Like I said, I only have one card in this machine so I can only guess.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 9th Aug 2011 03:21
Quote: "But this is about about PureGDK, not dark basic."


PureGDK comes from darkbasic, if it doesn't work in dark basic it wont work in gdk.

Quote: "I thought they worked? I have only one graphics card in my machine so I can't test them."

I thought they did but they dont. Guess I'm out of luck, with my darkgdk code its as simple as:

dbSetShadowShadingOn(1, 0, 300, 1);, that automatically works, and its the same shader I believe, for some reason with dark basic it just doesnt work, does that command cast a stencil shadow for you using gdk?
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 03:24 Edited at: 9th Aug 2011 03:27
Keep in mind that DBP and DarkGDK is the same code base but DBP is more up to date. If it's a bug then in the next DarkGDK release it will break as well.

Quote: "dbSetShadowShadingOn(1, 0, 300, 1);, that automatically works"


If it works without modification, then maybe either dbSetShadowShadingOn broke or it's being called wrong.

This doesn't seem related to the dbSetGraphicsCard() at all if it works without this in DarkGDK.

Would you give me some example code that works in DarkGDK so I have something to test?

If this is a bug, lets track it down.

Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 9th Aug 2011 03:27
Luckily darkgdk never gets updated lol.

And this works for me in darkgdk:

dbSetShadowShadingOn(1, 0, 300, 1)

In pure gdk the same command shades the object but it wont actually cast a shadow.

Same witth dbpro:

set shadow shading on 1, 0, 300, 1 doesnt really do anything, I cant tell if its a problem with my computer or with darkbasic.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 03:30
If you give me a working example in DarkGDK that I can compile and I will have something to test with.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 03:34
Try compiling the "basic3d-4" example that comes with PureGDK. This demo uses this command and will help identify if it's working on your computer:



Dodga
14
Years of Service
User Offline
Joined: 12th Dec 2009
Location:
Posted: 9th Aug 2011 03:41
That works but its not an animated object, and try setting the settings on it so the shader is selected, it wont work.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 9th Aug 2011 06:25 Edited at: 9th Aug 2011 06:28
The "Set Shadow Shading On" command seems to cause a memory access violation since DBP 7.3.

This wasn't a bug I could fix, however I'm implementing all of the DarkShader runtime commands to PureGDK. These commands come free with DBP but are undocumented.

Although the commands are undocumented for DBP, they will be documented for PureGDK.

This will allow you to use EVOLVED's superior shadow shaders with soft shadows:



Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 10th Aug 2011 15:13 Edited at: 10th Aug 2011 15:14
Quote: "I've tried everything to get shadows to work but it just wont without those commands, it sucks."


I've ported EVOLVED's shadows demo to PureGDK as an alternative for you. This shader is far more advanced than the dbSetShadowShadingOn's stencil shadows. I hope this will help you move your project forward.

http://forum.thegamecreators.com/?m=forum_view&t=187923&b=38

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 11th Aug 2011 12:40
I checked out some PureGDK videos, and my problem is that I found the syntax way too different from the GDK way of doing things. I got too much accustomed to GDK now
Hassan
14
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 11th Aug 2011 14:34 Edited at: 11th Aug 2011 14:37
i dont think the difference is great, at all (for the syntax i mean)

you could have something like this:


on the top of your code, always, and then, below it, start like normal:


and you can wrap it to make a dbSetDisplayMode clone, too, if it doesn't exist already, and better yet, you can make things nicer, and have all those stuff in a static library, instead of including them on the top of your code in every project, and i belive you can wrap things around to have a clone of any function you want from DarkGDK, although PureGDK structure give more flexibility

this actually looks like a great product, with at least 10x more support that DarkGDK

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 11th Aug 2011 14:44
I spent this morning checking out PureGDK.

Actually once you set up a basic empty framework, it's very similar to darkgdk.

I would like to get more info on the SimpleWindow commands.

The only thing that bothered me is the size of the engine.dll. A packed DarkGDK exe is only 400k big and has no dependency on any DLLs. But I guess you can't have everything.

I will continue to experiment with PureGDK and make some more tests...
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 11th Aug 2011 23:26 Edited at: 11th Aug 2011 23:36
The window commands I include with PureGDK provide a way to accessing the message queue in your own loop. The convetional way of handing window messages can be difficult to grasp and doesn't give you the single-message granularity that my method does.

For example, conventionally in Win32 you would do all of this.

Create the window with lots of WIn32 black magic. Is it centered, what brush is used for the window color, does it have a cursor, does it have an icon, what is its instance, what are its border styles, what is its size (as a rect), class name, etc, etc:



http://msdn.microsoft.com/en-us/library/ms632679(v=vs.85).aspx

Then at some point in your main application loop you have to handle the message queue. This is the conventional way to do it but you end up looping over more messages than you might like to at any given time. Too many messages or too much processing might lag your application, and if you want to "skip" some then you have to add in a lot more code to handle those types of events:



http://en.wikipedia.org/wiki/Message_loop_in_Microsoft_Windows

The method I provide in simpleWindow.h wraps all of that up into a few very simple functions for creating a window and pumping the message queue with single-message granularity. Additionally, it prioritizes some messages such as WM_CLOSE and WM_QUIT to the front of the queue, ignoring all other messages if the user intents to quit the application.

More information on the different types of window messages can be found here:

http://msdn.microsoft.com/en-us/library/ms632590(VS.85).aspxp
http://msdn.microsoft.com/en-us/library/ms644927(v=VS.85).aspx#system_defined

Here is a list of specific window messages:

http://msdn.microsoft.com/en-us/library/ff468922(v=VS.85).aspx

Both DarkGDK and PureGDK hide all of this from you. The difference however, is that PureGDK still gives you access to all of these system calls so you can change it as much as you like.

Many different application frameworks for Windows wrap up the message queue. For example, you can utilize the power of Qt with PureGDK. In contrast, DarkGDK does not give you access to its implementation and would therefore be incompatible:

http://en.wikipedia.org/wiki/Qt_(framework)

Quote: "The only thing that bothered me is the size of the engine.dll. A packed DarkGDK exe is only 400k big and has no dependency on any DLLs."


A small price to way, I think. One overwhelming advantage is that through dynamic linking, PureGDK is compatible with almost any C++ compiler (not just VC++ 2008 and 2010 with DarkGDK). PureGDK will "just work" with any standards-compliant C++ compiler such as any version of Visual Studio, g++, Borland, Watcom, Intel, Comeau, etc.

PureGDK will be compatible with any future version of Visual Studio (2012, etc) on day 1.

Although it isn't documented yet, the PureGDK tool 'gdkc.exe' has quite a few options to be configured when building the engine:



Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 11th Aug 2011 23:40 Edited at: 11th Aug 2011 23:40
Hassan, I was examining your code:



Don't forget to call dbCloseScreen() before you exit your application. Otherwise it might lock up from a possible race condition where the window closes before PureGDK can detach from it.

Hassan
14
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 12th Aug 2011 00:10
Whoops - well i took it off your video and there wasn't dbCloseScreen

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 12th Aug 2011 00:31 Edited at: 12th Aug 2011 00:31
Quote: "Whoops - well i took it off your video and there wasn't dbCloseScreen"


Then this is a mistake in the video.

All of the example .cpp source files should do this though.

I will add this information to the help file as well.

Login to post a reply

Server time is: 2024-04-26 11:06:10
Your offset time is: 2024-04-26 11:06:10