Perfil de PetriDark Codex StudiosFotosBlogListasMás ![]() | Ayuda |
|
30 octubre Compute ShaderThe new Comput Shader is a transparent parallel processing model, and an evolution of HLSL, targeted for Post processing, the A-Buffer, ray-tracing, Physics and AI.
It enables much more general algorithms than ever before. You could write this before as well, but with the compute shader, it just gets alot simpler..
This is an example of a Compute Shader Allison Klein shared with us on her session on Direct3D and GPUs.
OutputBuffer<uint> Result;
ImageAverage()
{
groupshared uint Total[32];
groupshared uint Count[32];
float3 vPixel = load( sampler, sv_ThreadID );
float fLuminance = dot( vPixel, LUM_VECTOR );
uint value = fLuminance*65536;
uint idx = (sv_ThreadID.x + sv_ThreadID.y + sv_ThreadID.z) % 32;
InterlockedAdd(Total[idx], value);
InterlockedAdd(Count[idx], 1);
SyncronizeThreadGroup();
if (threadIDInGroup.x == 0)
{
for( uint i=0: i<32;i++)
{
TheTotal += Total[i];
TheCount += Count[i];
}
float fAverage = TheTotal/TheCount;
UnorderedStore( Result[GroupID], fAverage );
} DirectX 11So, the next directx SDK will be available( beta ) in about one week. Can't wait to get my hands on that :)
I just listened to Allison Klein talking about Direct3D and the new version will have alot of cool features.
Older Hardware
Fist of all, as you might already be familiar with is the way you write applications to support all kinds of hardware.
So, if you want to write applications that will run on older DX9 H/W as well, you could use the DirectX10Level9 features. As you might know, DX10 and DX11 got rid of the CAPS hell, so how does this work on DX9 H/W that still use caps? It's pretty simple, they haven't really thrown away the caps in this situation, but they have made it really simple. All the caps informatio have been reduced to three levels, where level 1 is the lowest, level 2 includes level 1 with some additions, and level 3 is everything( DX9 ).
So what about even older hardware than DX9 compitable hardware? Direct3DWARP10 is the solution for this, witch is a software rasterizer that is 100% conformant with DX10 and is 100 times faster than Ref! Not bad??
So, to sum up, you can create a directx10 device targetting different hardware with setting the target type to either D3D10_DRIVER_TYPE_SOFTWARE( Direct3DWARP10 ), FEATURE_LEVEL_10_1/ 10_0 / 9_3 / 9_2 or 9_1.
DirectX 11 features
DirectX 11 also got an improved Multithreading Usage that will work on DX10 H/W with updated drivers! Thats cool!
Aother cool thing is that they will introduce two new BlockTexture compression formats; the DC6( 6:1 comp ) and BC7 ( 3:1 comp).
Some other features of DirectX11 is:
-Dynamic Shader Linkage and OOP
-Addressable Stream Out -Draw Indirect
-Pull-model attribute eval
-Improved Gather4
-Min-LOD texture clamps
-16K texture limit
-Required 8-bit subtexel, submip filtering precision
-Conservative oDepth
-2GB Resources
-Geometry Shader instance programming model
-Optional double support
-Read-Only depth or stencil views
-Compute Shader 28 octubre WPF now and the FutureJust a few quick words on WPF now and the future. If you navigate to codeplex.com/wpf you can see some new neat stuff that just got announced.
WPF is finally going to have better support for DataGrids, where each row in the grid can have a RowDetailsTemplate that shows up when drowsing trough the templates.
So, today you can take a look at the following WPF goodies:
-Calendar control
-DataGrid control
-DatePicker control
-Configurator
-Visual State Manager
The Visual State Manager lets gives the designer an oppertunity to create different states trough a States Panel in Expression Blend, and the coder can simly jump between states with VisualStateManager.GoToState(this,"JumpToState", true);
Say you have one state that is "Logged in" and an outer that is "Logged Out", each having different controls and animations, you can easily let the state manager handle what to view in different situations. Pretty cool!
Also, another neat thing about VS2010 is that it is going to use WPF, so you can create custom controls and use them directly in the code view f.ex. If you think that all your comments in you code look messy, like:
/// summary
// sd
// ssa da
// sdasd
you can create a WPF plugin that replaces those with a nice custom userfriendly UI!
WPF is also going to support better interop with DirectX and XNA, Shaders and so on.
Well, I'm of to the Silverlight Mobile session.. 27 octubre Microsoft Surface SDK 1.0One of the cool things about PDC is that you can play around with technology almost nobody have been playing around with, and today I got to test the Surface Platform.
If you are one of the guys who know how to code with WPF, then its really simple. All you need to do is to add a reference to the Surface.Presentation.dll, and instead of using the standard WPF controls( InkerCanvas, Button, Slider, Checkbox ++ ) you will need to use the Surface versions. These are simply SurfaceButton, SurfaceSlider, SurfaceCheckBox and so on.So, if you got a WPF application you would like to try on a surface machine, just do these two steps and your done! :)
The Surface Platform got a control named ScatterView that can be used to f.ex scale, rotate and decelerate custom controls (xaml).You can set properties on objects like CanRotate, CanScale,DecelerationRate and so on to make the object interact in the ways you want.
To create a nice photoablum, all you need to do is to make a ScatterView with a DataSource pointing to a directory of image-files, and the ScatterView takes care of the rest. Nice!
To play with the really cool things about Surface, you can make it recognize objects by using a tag and the TagVisualization control. Things like adding a tag to a business card, and when putting the card on the table, a ring will popup with options like sending an e-mail to the owner, call him/her up and so on is quite simple to do.
All Surface applications needs to be hosted inside a SurfaceWindow and declare a namespace for surface:
<s:SurfaceWindow x:Class="SurfaceApplication.SurfaceWindow1"
xmlns:s="http://schemas.microsoft.com/surface/2008" ... And a scatter window can be defined as the following, using a data template that displays images for a data bound collection:
<s:ScatterView Grid.Row="1" Name="MyPictures" > <!--A template for displaying an image from a databound collection of image file paths--> <s:ScatterView.ItemTemplate> <DataTemplate> <Image Source="{Binding}"></Image> </DataTemplate> </s:ScatterView.ItemTemplate> </s:ScatterView> Now, you can easily iterate trough all pictures in a folder, adding a new ScatterViewItem and setting a picture as it's content. When a new ScatterViewItem is created, you can then add them to the Items collection in MyPictures: MyPictures.Items.Add(sviewitem);
As simple as it gets! ;D VSTS 2010 == HappinessAfter a quick tour around VSTS2010 I realized why it can be defined as happiness.
I's a big release particular focused on Test and Architecture, including alot of new features.
First of all, the bug template is enhanced where we (finally) got a rich text editing box on the defect history, and a detailed view of all the steps and tests that was executed and processed before and while the defect took place. But thats not all, a video is acctually recorded during the process and links to different points in the video timeline is added with each step, so you can always see the bug happening on your own system (how many of you have recived a test-report, thinking "It's working on my system, so its probaly just nothing.") in the video, with a screenshot, a full overview of the system info AND thread info at that time is stored so you can always see exactly what system and it's stats the defect was tracked on. No more excuses for not being convinced the bug really happened, right ;).
It's not very cool when you wake up in the morning, have your coffee and noticed someone have checked in errors in the code. VSTS2010 have thought about this.
When editing a function, or writing code, you can acctually see a test impact view with a list of all edited functions and all affected Unit Tests on each function. Handy or what? And, when checking in code, it will be validated with Gated Check-in, resulting on no more broken builds ;P
As part of the build process, we now have an Architectual validation consisting of layers with functionality. Arrows from one layer to an other will tell what functions can call other functions and classes. With the Architecture Explorer, you can visualize your system code. If thats not enough, you can generate sequence diagrams( UML ) by just right-clicking a class and tell how many steps you would like to include. This helps us ensure the quality of code and that the code follows a particular architecture before checking in, minimizing "The Butterfly Effect".
I would also, lastly, like to mention "CodedUI tests". With this functionality, you can acctually record all steps you make in the UI, like setting a search criteria, select different options, generate code for the test and make asserts about the results( UI regression. tests ).
Windows Azure - A Operationg system in the cloudsMicrosoft just announced Windows Azure. I'm sitting in the hall right now, listening to Mr. Ozzie and trying to understand what it is, but if your curious, take a look at this page: http://www.financialpost.com/news/story.html?id=911798
26 octubre CaliforniaJust a quick and dirty blog from Huntington! The trip from Oslo->London->LAX went well, and after a really long stay in the skies we found California. After checking in at Tokyo Grand hotel, we went to Universal City/Hollywood and ate a really nice steak at Hard Rock, Universal Studios, before getting some sleep! It was really crowded because of halloween, horror nights at Universal Studios and so on, but thats just cool ;P So, here I am.. My first full day here in LA is soon over, and I am at Huntington Beach with Einar. Going to spend this night at their apartment, a really nice place by the sea, drinking some mexican and american beer, chill-out and see the city around Huntington. I spent most of this day with Christopher in Santa Monica, before meeting Einar, where we checked out the surfers, the beach, the pier and some shopping. Didnt see David Hasselhoff though.. :( So far, Los Angeles, Huntington and Claifornia looks really nice :) Anyways, better get to the city before its too late. The PDC starts tomorrow, can`t wait :) (Still) Have a good night! 23 octubre Microsoft Professional Developers ConferenceAllright, my bags are packed and I'm ready to get a few hours of sleep before starting my trip to LA tomorrow morning!
I'll try to blog during the conference, and share some pictures, so check back here during the next week to know whats going on in LA, California and PDC2008!
California, here I come! :P
PDC? Read more: http://microsoftpdc.com/ 22 octubre The power of the L-SystemsI have been waiting for an oppertunity to play around with my own L-System engine for many years now, and because of my latest results within the topic, I'm finally there! :)
All you can see in this picture is rendered with my new L-System engine( The water and the cave are not based on a L-System function ), including a leafless/dead tree, some mushrooms and some other flowers with leafs and the flower itself.
My next challange is to find a way to render some leaf's on the big tree, add some grass and some more plants to make the small island nicer and more magical. A procedural tree in 3DI managed to extend my L-System engine to grow branches in all dimentions( xyz ), so now I can easily produce 3D trees. I'm quite satisfied with the results so far, but there is still some minor issues that needs to be fixed( reduce the amount of hardcoded values and so on ).
My next task is to apply forces like wind and weather :)
21 octubre Dandelion's and the L-SystemThis evening, I started implementing a 3D L-System engine and merged it into my 3D graphic engine, DeBreeze. More: http://en.wikipedia.org/wiki/L-system and http://algorithmicbotany.org/
I uploaded two screenshots on my current progress. The first one is a function that I made, trying to model a seeded dandelion: F->FF[+[+F]F][-[-F]F]. The 2nd one is just a normal straw: F->F[+F]F[-F]F.
I'll upload more screenshots and code when I get it done. :) 02 octubre Einar, MVP in XNA and DirectXI would like to use the oppurtunity to congratulate Einar Ingebritsen, who got his MVP in XNA and DirectX earlier today!
And for those of you who are interessted in Silverlight and not yet tried the new Silverlight RC0 version, go to www.silverlight.net and try it out! :) 01 octubre The hacking of NectarineThanks to all donors, it might be a possibility that Necatrine( scenemusic.net/ nectarine.fr ) will be restored again.
The site was hacked a while ago, and alot of damage was done:
For more information:
http://revival.scenemusic.net/ I really hope they manage to get everything in order, as this site was a highly-popular site, that I've been using for many many years now. |
|
|