Jump to content

  • Log In with Google      Sign In   
  • Create Account

Jason Z

Member Since 04 Feb 2004
Online Last Active Today, 09:23 AM

Topics I've Started

Direct3D 12 Staging Resources

06 May 2014 - 12:20 PM

Over the years since Direct3D 11 was released, I would venture to guess that one of the most common questions / problems that has arisen from new developers was the requirement to have a staging resource when you wanted to have both CPU and GPU access to a resource.  It is counter-intuitive to have this requirement, and if your resources are really big (i.e. for 3D textures) then it is even more of a trouble since you have to keep a huge resource around just for copying data back and forth.  The alternative is to temporarily create a resource just for the transfer event and then release it, but that is against recommended practices.

 

So this post is an open request to the Direct3D 12 developers (of which I know at least one of them is lurking around... Max!).  Please allow the control of staging properties of a resource with the resource barrier objects.  If we can change the CPU / GPU access properties with a barrier transition, then it will let the developer have easier control over his/her resources and reduce the number of API calls needed to copy data back to the CPU.  This should theoretically improve performance (fewer API calls) and it lets the algorithm implementer explicitly show what he is trying to achieve.

 

This functionality may already be possible in the current state of the API (I haven't seen any more than the BUILD 2014 talk) but if it isn't, please consider adding this!

 

If there are other topics like this that the general community sees as relevant or important to change for D3D12, please post those ideas so that the feedback gets to the right people!


BUILD 2014 Sessions

01 April 2014 - 12:18 PM

Microsoft's BUILD 2014 conference will be starting tomorrow, and in case you missed it, the session schedule is up now.  It is an interesting list of topics, and a number of them very relevant for the DirectX crowd.  The session list can be found here: http://channel9.msdn.com/Events/Build/2014?sort=sequential&direction=desc#theSessions.  The videos from each session should be posted 24-48 hours after they occur, and I think there will be live streaming of some of the sessions while they are occurring - so if you have the time, be sure to check them out!

 

Here are a few highlights that I saw - some are DirectX related, others are just of general interest to me:

 

Developing Apps Using the Common XAML UI Framework - Sounds like a subset of XAML that allows for common development across Windows and Windows Phone.

The New Windows Phone Application Model - The title says it all I suppose.  There should be quite a bit of interesting WP content here.

Building Games for Windows - Sounds like an overview of all the available technologies for making games on Windows.

Direct3D 12 API Preview - This is probably the most anticipated talk for me, so hopefully we will find out more about the low level details on D3D12...

3D Printing with Windows - This sounds pretty cool, especially the part where it says you can integrate the printing into your apps.  That could be really cool for game scenarios.

Windows Desktop Development Platform Advancements - Everyone is afraid of what might end up happening to the desktop, but this talk seems to indicate that features are still being added to desktop app development...  For an old school developer like me, this sounds promising.

Kinect 101 - Everyone's favorite body tracker, covering version 2 of the device.

Innovations in High Performance 2D Graphics with DirectX Across Windows and Windows Phone - Sounds like a discussion on D2D performance.

Using Orleans to Build Halo 4’s Distributed Cloud Services in Azure - Cloud services are going to be bigger and bigger in game development, so hearing about examples like these sounds like an interesting topic.

DirectX Graphics Development with Visual Studio 2013 - Sounds like an overview of the VS2013 graphics tools.

Modern C++: What You Need To Know - A talk by the always entertaining and informative Herb Sutter about modern C++.

Developing Neural Networks with Visual Studio - I am generally interested in learning algorithms, so neural networks are always of interest.  They also hint at a future product, so perhaps more information about a new library or product might be revealed there...

Understanding the Xbox One Game Platform Built on Windows - This sounds like a description of how Xbox One is using Windows, which could be an interesting topic.

Cutting Edge Graphics in HTML5 - Sounds like a discussion of the WebGL support in Internet Explorer.  WebGL is a viable option for browser based tools now that all of the major browsers support it, so this could be interesting.

 

Happy watching, and if any other ones jump out at you, please feel free to add them in comments below!


Graphics Programming and Tool (the band)

01 September 2013 - 09:01 AM

This topic might legitimately be put into the one of the social forums, but I wanted to be sure to reach as many graphics programmers as possible.  Through lots of discussions with other graphics programmers throughout the years, I have started to notice a relatively strong correlation between being interested in graphics and the rock band Tool.  I personally really like the band (they are actually my favorite...), but they definitely are not for everyone.

 

There seems to be a sufficient correlation to put it to the test - I would like to know if you meet the following criteria:

 

1. You are interested enough in graphics programming that you regularly visit this forum.

2. You have at least one Tool album, digital music purchase, streaming radio station, or other option.

 

This is purely out of interest, and I'm curious to see how many of you have the same interest that I do!  Any other comments about this potential link are also welcome - including confirmation or refutation :)


Using shared_ptr with SWIG and Lua

08 July 2013 - 07:36 AM

The scripting forum seems to be gone now, so hopefully this is the right place to post this question.  Please let me know if it should be somewhere else!

 

I have been building a system in C++ that I would like to expose to scripting via Lua through the use of SWIG 2.0+.  At the moment, I have everything working properly and can create and access objects in Lua.  In an attempt to modernize the memory management of the C++ system, I have elected to use shared_ptr in a few cases.  This is also no problem - I created a simple SWIG interface file for shared_ptr it is working properly.

 

The issue comes in when I try to use polymorphism with the shared pointers.  If I have an inheritance chain with classes Base and Derived, and a function takes a shared_ptr<Base> as an argument, then in C++ I can pass shared_ptr<Base> or shared_ptr<Derived> - either one will work due to type deduction.

 

However, this doesn't work in Lua, most likely due to the simple interface file that I am using for shared_ptr.  After doing some research on the topic, I have found out that there is built in support for shared_ptr in other target languages in SWIG (i.e. Python for example).  But this support isn't there in Lua yet.

 

So my question is, has anyone else faced this issue and knows how to overcome it?  I wonder why there hasn't been any support added for Lua yet?  As a work around, we have added some conversion functions that can do the type conversion to a base class shared_ptr manually on the script side, but that unnecessarily complicates the scripts and makes them more rigid.  Does anyone have any suggestions or past experience with this???


Function Calls in HLSL

24 July 2012 - 08:52 PM

Hello,

On a recent project, I am being asked to produce shaders that will produce function calls in the assembly output from HLSL. I have tried many, many different ways to get it to happen but without any luck yet. It seems that pretty much no matter what I do, the compiler always inlines the contents of the function instead of making a function call.

Does anyone out there know how to push the compiler toward making function calls??? There must be some way to do it, but I can't seem to find any way to make it happen...

Any help is greatly appreciated!

PARTNERS