I suggest you ...

Enable HLSL, DirectX and graphics development toolset for the C# language.

Visual Studio only provides hlsl compilation tools for C++ projects, while C# projects which also use hlsl are left without this facility. This is a glaring inconsistency in the tools provided to each language. C# is meant to be a first-class language yet the DirectX tools which are built in to Visual Studio are not equally provided to C#, this is an unnecessary and arbitrary limitation.

Developing DirectX applications with C# is becoming easier and there are now more tools than ever to work with this combination of technologies, including SlimDX and SharpDX, both fully capable managed DirectX frameworks (wrappers). Please provide C# developers with hlsl compilation, and for that matter, all the DirectX and graphics related tools that are provided to C++ developers, including the shader designer and the model editor. These features are equally usable by C#/DirectX developers as for C++/DirectX developers.

1,321 votes
Sign in
Sign in with: facebook google
Signed in as (Sign out)
You have left! (?) (thinking…)
Gavin Williams shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →


Sign in
Sign in with: facebook google
Signed in as (Sign out)
  • Aravind commented  ·   ·  Flag as inappropriate

    Hi i am new to directx c#. i have a problem in one project. i draw two cubes which is one after another (ie x and y same location z is different), but the problem is when i view the front cube it is transparent and back cube is visible through front cube, i checked the transparency, no transparent level has been set. cullmode=null,Can anyone suggest what was the problem in tat?
    And I think that the pixel of back cube overlaps with the front cube , how to overcome this?
    And What to set in StencilFunction.?
    here the screen shots..
    Front Facing: http://postimg.org/image/6irstpv75/
    rear Facing :http://postimg.org/image/tyz5v3av3/
    Side View:http://postimg.org/image/fmabaig8v/
    Top View:http://postimg.org/image/o7ktw54h3/

  • SC commented  ·   ·  Flag as inappropriate

    The history around managed DirectX is basically a graveyard. First we were promised VB support via type libraries and documentation, but it was abandoned in the next release. Then C# support via Managed DirectX - which was abandoned due to a lack of support for the developer working on it. Next was XNA, which was never well thought out and was killed when the larger game developers complained about Windows Phone.

    It's aggravating and makes me extremely bitter towards Microsoft. The real irony here is that a large number of the great indie games on Windows 8 (basically some of the only games on that platform) are written using open source copies of XNA.

    Although my ideal scenario would be full and official long term support for DirectX in .NET, a more realistic option would be to convert DirectX to a WinRT library that's part of the Windows platform going forward. That way there's no performance hit to C++ apps, but .NET applications get the full version without any risk of it being "canned' 2-3 years later which has historically been the norm.

    Windows is getting beat up by iOS - for the first time in my life Windows is now the "have not" platform. Requiring all game developers to use C++ is a dead end for the smaller publishers that have been flocking to alternate platforms. Unity support is nice, but doesn't allow the full range of possibilities that would be opened up with DX WinRT.

  • Gavin Williams commented  ·   ·  Flag as inappropriate

    At least for HLSL compilation, the workaround I'm using as suggested by Jason Zink is to have an empty C++ project in my solution which gives me access to the hlsl compiler. I can then compile my shaders and output the cso files into my c# directories. But it just seems silly when the hlsl compiler could be exposed to C#.

Feedback and Knowledge Base