DirectX

Monkey Targets Forums/User Targets/DirectX

Kalakian(Posted 2013) [#1]
Just started working on a new target to compile to DirectX (C++). This is to create DirectX applications for Windows Desktop, rather than Win8-style.

Initially it will just be DirectX11 using Visual Studio 2012, but I may add support for DX10 (maybe 9) and VS2010 if there's enough interest.

I'm mainly doing this as I need an excuse to keep up my C++ skills and stop them going rusty. DirectX11 was chosen so I could create Desktop and Win8-style apps, but do most of the work on my main PC (Win7).

License: MIT License

Project Page: https://server.kaldev-games.co.uk/projects/monkey_directx

Public Mirror: https://bitbucket.org/Kalakian/monkey-directx-target

[Edit 1]: Changed the URLs from the Helix library Copy-Paste :)


Paul - Taiphoz(Posted 2013) [#2]
Derek you want my replies here or on facebook ?


Kalakian(Posted 2013) [#3]
I should mention that the initial structure has been put in place using Monkey v68c and the new targetting system from v67


Kalakian(Posted 2013) [#4]
Here will do fine thanks, then others can see it too


Paul - Taiphoz(Posted 2013) [#5]
just finishing off some stuff then will have a crack at it.


Paul - Taiphoz(Posted 2013) [#6]
Sorry mate not had a chance to look at this, my new host is having a fight with my Wordpress install and refusing to render the main page which is not good at all.

Will try and have a look at this late once I get this stupid host sorted out.


Paul - Taiphoz(Posted 2013) [#7]
(PlatformPrepareForBuild target) -> 
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(518,5): error MSB8008: Specified platform toolset (v110) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected. [D:\Source\Monkey\Side Projects\dx 11 test\dx11.build\directx\vc2010\MonkeyGame.vcxproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:01.06



Paul - Taiphoz(Posted 2013) [#8]
never mind just realized I need vc express 2012.. off I go to download and install that..


Paul - Taiphoz(Posted 2013) [#9]
Yeah that's building although are you substituting some stub code in there cos it shouted at me hello world lol which not what I compiled.

it does build tho with no errors.


Kalakian(Posted 2013) [#10]
Cheers. It's much easier to use VC2012 because it contains the DirectX libraries, and is needed for Win8 as well. As I said above, I may support VC2010 with the separate DirectX SDK at some point.

The stub code is needed because there is no actual DirectX code yet, just a test to make sure the custom target works :)


Paul - Taiphoz(Posted 2013) [#11]
roger .. just give me a shout on facebook or here when you need it tested more.


Kalakian(Posted 2013) [#12]
Wasn't sure if I was going to support mojo for this target or not, but decided that I may as well, or it could limit the usefulness of it for other users. Besides, if I tune the functionality I have planned for the Helix Library so that it works with mojo, it could work with the Win8 target as well.

Anyway, initial mojo support has been added. This allows for the standard extend-App structure and a window is created using the config settings (title, width, height, fullscreen). That's it so far.

Slowly making progress as I try to decipher the underlying code structure, but it's certainly fun and interesting :)


Kalakian(Posted 2013) [#13]
The window created is now a DirectX window, and can be cleared! Ok, not a lot to get excited about, but it's progress nonetheless.


MaxPower(Posted 2013) [#14]
.


Kalakian(Posted 2013) [#15]
Slowly building up the functionality for this target. Have now implemented some of the mojo drawing commands, including images.

I am trying to focus more on getting all the mojo functionality implemented first, so the underlying code is a bit untidy and inefficient. Once it reaches the stage where it can actually be used, I'll be going back to clean up some of the code and improve the performance.


SlopeOak(Posted 2013) [#16]
Have you considered using this to translate Monkey's GLFW OpenGL calls to DirectX ones?: http://code.google.com/p/angleproject/

I know of other devs who have used this successfully for non-Monkey projects, and they rave about it. Making it work with Monkey would be amazing.