Share via


Features? Whidbey? Oh My!!

Well, as I'm sure most of you are already aware, the Whidbey beta has been out for a while now, and hopefully some of you have gotten a chance to play with it.  Assuming you have, what features are you seeing that you absolutely love?  What features do you now find 'missing' when looking at the Managed DirectX libraries?

In short, now would be the perfect time to suggest features on things you might like to see in a "Whidbey" specific version of Managed DirectX.

( And yes, I'm aware of the loader lock problem using the current MDX assemblies with Whidbey.. So ignore that one.. :D )

Edit: Comments seem to be broken.. I'm trying to fix it.. Let me know if it works..

Comments

  • Anonymous
    June 12, 2005
    Hi,

    I really like the new Intellisense. I don't like that new tabs show up on the right, it just feels wrong and is disorientating.

    For MDX I'd like to see project templates if possible. Ones that build common shells for you. With a choice of the base game loop you'd like to implement. Templates for 3D, top-down, side-scrollers, and mobile would be awesome.

    A template for delivering these through a browser would be great too! That is the delivery mechanism I'm currently working on for a few new projects. Even if it was something simple that only elegantly checked for .Net 2.0 existance and returned the DX version would be a good start.

    Keep up the good work! Ken.
  • Anonymous
    June 12, 2005
    I'd like to ignore the loader lock, but it makes developing MDX apps rather annoying, but I assume you guys are working on that :).
  • Anonymous
    June 12, 2005
    The comment has been removed
  • Anonymous
    June 12, 2005

    64 bit support will be greatly appreciated!
  • Anonymous
    June 12, 2005
    The comment has been removed
  • Anonymous
    June 13, 2005
    I think comments are fixed Tom.

    More managed samples in the SDK would be nice!
  • Anonymous
    June 13, 2005
    64bit support will be nice.
  • Anonymous
    June 13, 2005
    Hi,

    My comment got lost. I'm rooting for templates. 3D, top-down, side-scroller, and mobile templates. When you create the template it would be cool to have a list of game loops to choose from. Also a template to deliver the game through a browser would be cool. Something that elegantly checks for the existence of .Net 2.0 and also returns what version of DX the user has would be enough.

    Also tell the team to turn tab-scrolling back on so that we have the choice to have new tabs open to the right of everything else. I've been digging into the VS.Net IDE to make this happen but havn't had a lot of luck. You guys have totally disabled this and I can't figure out how to override it. You've totally stumped me but I think you can do it rather quickly. Ken.
  • Anonymous
    June 14, 2005
    Anything to make animation blending / multiple animations simpler. I finally figured this out after about a week of sifting through C# and C++ code on the Web and in books. I mostly had to look at unmanaged code for hints, though.

    Also, the documentation still has an unfinished feel to it. When is the "pre-release documentation" notice going away?

    Overall, I'm very happy with Managed DX.
  • Anonymous
    June 15, 2005
    The comment has been removed
  • Anonymous
    June 15, 2005
    Samples, templates and documentation. The need for proper documentation and more real-world samples is huge. As it is right now, you have to either have been a DirectX developer in the past, or try sifting through newsgroups and unmanaged code for days to figure out how to do whatever it is you're trying to do.

    I'm still trying to figure out how to do some rudimentary post-processing at 24+ fps without using pixel shaders...
  • Anonymous
    June 15, 2005
    I want to use (for example) Microsoft.Direct3D.Manager.Adapters to return the D3D adapters on this system ... Because I'm lazy I'd like to load the results into a ComboBox that lets me choose which adapter to use ...

    The problem is that Microsoft.Direct3D.AdapterInformations' ToString() returns the namespace, not something usefull like the Description of the Adapter. Even worse, because its sealed I can't do a simple override, I have to write a wrapping class that exposes the AdapterInfomation.Information.Description as the ToString()

    Basically, can we have some sanity in these helper classes to do things like this, without having to write wrappers and so-on ?
  • Anonymous
    June 15, 2005
    Supports of generics.
    And a working version of AudioVideoPlayback to render a video on a texture...... :)
  • Anonymous
    June 16, 2005
    Easier resource management. Less code to load, texture, and animated meshes.

    :-)
  • Anonymous
    June 16, 2005
  1. An MDX Toolbox with standard (UI elements) and advanced controls, code snippets such as:
    - lights (omni/spot)
    - cameras
    - skybox

    2. SDK Samples

    3. More Documentation. A "NOT TO DO LIST" concerning perf issues.

    4. Shader Tool as part of IDE

    5. THE FINAL version of the game loop ;)

    6. Ideally (most probably impossible), MDX's own GUI kinda like 3DSMAX where u add lights, cameras, objects and then assign actions to them... yeah right :)
  • Anonymous
    June 16, 2005
    The most intersting feature of Whidbey is
    custom Debugger Visualizers.

    I will absolutely love a texture (2d and cube)
    and mesh visualizer shipped with mdx, and maybe
    an effect visualizer, a device state
    visualizer, a renderstate visualizer,
    a render target visualizer and a stencil
    buffer visualizer.

    Those tools will greatly improve the workflow.

    Thank you.
  • Anonymous
    June 16, 2005
    I second the AudioVideoPlayback texture fix already mentioned. Also, a full implementation of DirectPlay would be nice.

    - Joshua
  • Anonymous
    June 16, 2005
    More VB samples :)
  • Anonymous
    June 16, 2005
    mdx is great but you should for now just work on performance and adding better exceptions messages, and not just something like "there was an error" in directxexception.message (actually, i dont have the last sdk, so i dont know if that has been corrected).

    performance is very important, if you want more people using mdx (even professional companies), you have to improve performance, not that it is bad, its rather good actually (but still far from native).
  • Anonymous
    June 16, 2005
    How about wrapping up the creation of the Direct3D Device class so that it can be optimally created without having to explicitly query the hardware?

    E.g. Device deviceDirect3D = new Device(controlTarget).
  • Anonymous
    June 16, 2005
    How about more info about what is/will be available for the Compact framework.. I love the new IDE when it comes to portable devices and want to write a game for my PDA now!
  • Anonymous
    June 16, 2005
    MDX is great as it is.

    A working example of the AVPlayback would be great. Support for DirectShow and Capture would be even better!
  • Anonymous
    June 16, 2005
    Just to repost the best suggestions I have read ...

    1: Anything to make animation blending / multiple animations simpler.
    2: ToString methods that return valid info and not just there namespace
    3: Generics!
    4: Easier resource management. Less code to load, texture, and animated meshes.
    5: More Documentation. A "NOT TO DO LIST" concerning perf issues.
    6: Shader Tool as part of IDE for HLSL. with intellisence / preview window and the works etc.
    7: Custom debugger wizards for whidbey I will absolutely love a texture (2d and cube)
    and mesh visualizer shipped with mdx, and maybe an effect visualizer, a device state
    visualizer, a renderstate visualizer,
    a render target visualizer and a stencil
    buffer visualizer.
    8: wrapping up the creation of the Direct3D Device class so that it can be optimally created without having to explicitly query the hardware? E.g. Device deviceDirect3D = new Device(controlTarget). IE: MORE ABSTRACTION
  • Anonymous
    June 16, 2005
    Do you have wishes for managed DirectX for Visual Studio.NET 2005? You are in luck. Tom Miller's put...
  • Anonymous
    June 17, 2005
    Better integration with Avalon. Atm, need to do very ugly things ( like WindowHelper in Form ) in Avalon to get a HWND. Also, in PresentParameters there is a System.Windows.Form.Control reference, so I need to reference assembly System.Windows.Forms ( which is bad in a PURE Avalon app ). Pls remove the PresentParameters.DeviceWindow property and only use PresentParameters.DeviceWindowHandle, so I can skip the System.Windows.Forms.

    thx
  • Anonymous
    June 18, 2005
  1. Better description of exceptions
    2. Debug support for MDX in IDE (visualizers, highlighting shader syntax or any shader tool, toolbox, wizards..
    3. Actual MDX library versions are pain! All (Summer, April, June) is 9.0c, libraries are not backward compatible and reliable release of MDX program is almost impossible!
  • Anonymous
    June 19, 2005
    The comment has been removed
  • Anonymous
    June 19, 2005
    I'd like a mesh format documentation or at least a loader that isn't so.. picky about the meshes.

    I can't write an exporter for any programs because it just complains about the section which states vertices that overlap. No matter what kind of order I arrange them, it just shows an error message.
  • Anonymous
    June 21, 2005
    I'd like to see a free 3D modeller built into whidbey which has the potential to create .x files and HLSL .fx files. I think it would be a great feature for the IDE. It has many possible implementations, even beyond the MDX world.

    Imagine having a true object, with properties, and a visual representation.

    For example:
    Create a mesh of a mean looking Dwarf. Assign the mesh some properties; hair color, eye color, strength, wisdom, etc. and have the power to "Make Dwarf Class" Boom a dwarf class is built which you can now add to any of your existing projects.

    Dwarf dwarf = new Dwarf();
    dwarf.Mesh = "@:\dwarf.x";
    dwarf.HLSL = "@:\dwarf.fx";
    dwarf.HairColor = RGB(255,100,30);
    dwarf.EyeColor = RGB(255,300,50);
    dwarf.Strength = 35;
    dwarf.Wisdom = 58;
    ...


    This of course would be a library project so you would end up with Dwarf.dll, which contains the meshes, fx files, and base properties of a dwarf class.
  • Anonymous
    June 22, 2005
    Some sort of HLSL intelisence, or documentaton on the available instructions in the HLSL ( or shader modules).
  • Anonymous
    June 26, 2005
    I think what I have come to realize over the years of using directx (since dx5 using patrice scribe's third party *.tlb files for vb) is that the documentation only describes what the individual Classes/methods of the dx api do. What the documentation does not do is tell you is how to best make use them.

    I personally am waiting for longhorn to ship to see what kind of performance gains it will have over GDI. I would love to just be able to use pure .net framework winodws forms code to create a game but it's way to slow for that.
  • Anonymous
    June 28, 2005
    I would like to see generics in all thier glory, especially when it comes to list and sorting. It would be nice to extend the refactoring/code snippets in VS2005 for common repetitive tasks in MDX.
  • Anonymous
    June 30, 2005
    For whidbey-specific features, debugging visualizers and generics top my list.

    A more general feature: Instead of using the generic "error in the application" message all the time, using the last few messages written to the debug console by DirectX would be awesome, so you don't have to turn on very slow unmanaged debugging to see them. They are usually quite accurate and informative when using the debug runtime. I guess it might be tough to access them from managed code, but perhaps the unmanaged guys could provide a hook for you to get at them? It would probably be the single best change you could make for improving beginners' experiences with MDX.
  • Anonymous
    June 30, 2005
    Though Debugger Visualizers have already been mentioned, I would like to say DebuggerDisplayAttribute is light and useful.

    Also, I'm interested in CLR 2.0 "reliability" features; SafeHandles, CriticalFinalizer and ConstrainedExecutionRegions.
    For example, it seems almost all P/Invoke Functions in CLR 2.0 have ReliabilityContractAttribute like this:
    ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)
    So I guess Microsoft BCL team has an internal guideline for the usage of Unmanaged Resources and if it is so I think it is reliable for the implementation of Managed DirectX.
    Anyway I hope Managed DirectX will be successfully integrated with the new .NET world.
    Thanks.
  • Anonymous
    June 30, 2005
    The comment has been removed
  • Anonymous
    June 30, 2005
    By the way, please work on managed documentation before you start adding more features.
  • Anonymous
    July 05, 2005
    I have just install a game called Re-Volt and when I try to run it, the computer says no zbuffer. What could be the problem.
  • Anonymous
    July 05, 2005
  1. VB Documentation
    2. The capabilties that exist(ed) in the now depricated DirectPlay.
    3. VB Documentation
    4. VB Samples
    5. VB Documentation
  • Anonymous
    July 05, 2005
    These have been mentioned, but I'll post here to second them.

    1. A Widget library
    2. More descriptive exceptions
  • Anonymous
    July 20, 2005
    This comment belongs attached to the last word on the render loop post, but commenting is dissabled for that post. I know you must be bored to death with the topic, but it is a VERY important one.

    Please include include the necessary code to implement this ultimate render loop in the official Microsoft assemblies as many developers (myself included) may wish to avoid any native methods in their code for security and potential portability concerns.

    One great addition to future versions of the managed libraries would be a replacement for Application.Run, such as Direct3dApplication.Run, which could implement this render loop by accepting an IDirect3dWindow which extends IWin32Window (or whatever it is) and provides a DoFrame method. At the very least, please include this render loop explanation in the documentation.
  • Anonymous
    August 04, 2005
  1. Separate SDK for MDX wihout saples or documentation for unmanaged part :), smaller, lighter
    2. Shader visaliser with integrated editor would be nice