Jump to content
  • Advertisement
Sign in to follow this  

Wrote some simple SharpdDX tutorials, what do you think?

This topic is 1894 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts


Awesome! You're so right there is a lack of good SharpDX tutorials on the web. These tutorials are great I'd like to see more!

Share this post

Link to post
Share on other sites



I wrote the 10th one: http://dl.dropboxusercontent.com/u/45638513/sdx/Tut10.zip


It should have the sources and a working exe. If you want to compile it you'll need this too: http://dl.dropboxusercontent.com/u/45638513/sdx/Dependencies.zip


To take control of my running away back log I'll write up the text of the tutorial before I continue!


Now that I remember, I forgot to give the controls for the demo:

  • Mouse buttons: camera control
  • P: Toggle cube rotation
  • Alt-Enter: toggle fullscreen
  • F2: Toggle VSync
  • F3: Cycle MSAA/CSAA
  • F4: Cycle FXAA/SMAA
  • F11: Toggle master post processing override. This way you can force to off the entire post processing framework. Good for debugging.
  • F12: Toggle master AA override. This way you can force to off the entire MSAA/CSAA framework. Good for debugging.
  • T: Toggle debug text.
  • +/-: Adjust bloom threshold
  • O: Toggle bloom debug overlays
  • B: Cycle though bloom modes. Mode 0 is no bloom. Mode 1 is default bloom. The rest of modes are not that useful for realistic rendering.
  • E: Cycle though render modes:
  1. Low
  2. Medium
  3. High: Default
  4. Debug: Ambient spherical harmonics lighting
  5. Debug: Diffuse lighting
  6. Debug: Specular lighting


edit: typo

Edited by DwarvesH

Share this post

Link to post
Share on other sites

This is why I don't like releasing stuff until it is 100% done :). I found some CSAA 32x and multithreading bugs. I fixed them and back-ported the fixes to each version.


I also split up the tutorials, each in its own archive to make it easier to edit one. I edited the first post with links.


DirectX 10 is not progressing at all. I'm getting super strange bugs and abysmal fullscreen MSAA performance, so I'll leave it for later.


The next tutorial is going to be on GUI. Unless someone can point me to a good lightweight but powerful GUI system for SharpDX. I couldn't find one. If you know of one please let me know.


Oh, and I should stop calling these tutorials. They are far too complex for that title. It is more like a DIY step-by-step iterative toy engine and shaders for each common rendering task.

Share this post

Link to post
Share on other sites


I second ta0soft. Great stuff. Hope to see DX10/11 versions some day:) Thanks!




Thanks! I'll get to that one day.


In the meantime tutorial 13 is in a bit of a hiatus. First I wanted to do it about physically based BRDF, but that subject is far too wide to cover in one go. I could dump in the shaders and be done with it, but that does not seem alright.


So as a next topic I investigated integrating available SSAO shaders with ease in a forward renderer. But since have never done this before, I'm not sure yet if it looks alright, I'll wait.


There are other obstacles too. I started creating a sort of "spiritual coexistor" of Neoforce Controls for XNA (it's too soon to call it a spiritual successor since Neoforce is still around). It is a light weight GUI library for SharpDX that uses roughly the same API and look & feel of Neoforce. It has less features than Neoforce, but the code base is much smaller and maintainable.


I tried getting in contact with the maintainer of Neoforce to see what to do with it. Optimally he'll like the idea and I can open-source it. But if he won't, since it is a fresh implementation, not a port, I can drop the API compatibility and create a new original skin and still open-source it.

Share this post

Link to post
Share on other sites

Great work!

I signed up here just to reply this.

I'm looking forward to the GUI Tutorials. I just need that!smile.png


Why SharpDX don't have some libs like Neoforce?

Share this post

Link to post
Share on other sites

Speaking of SharpDX UI libraries, I'm also developing a UI library as part of my game. It uses Direct2D and does not rely on any artist resources. Controls are rendered on the fly thanks to Direct2D's capabilities and can be skinned through XML theme files. I've just finished implementing a very primitive DataBinding system so that it is possible to bind property values to ViewModel instances.


If anybody is interested, I could write a short article on how to use the library. Here is the repository. It contains two samples: MiniUI is just a basic UI sample consisting of a panel and a button, while DataBinding shows the databinding features. 

Help is welcome, lots of controls needed still! 

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!