Summer SDK Update Released

Excerpts from Release Notes:

D3DX
New Features:


Flow control support for HLSL - The HLSL compiler now support predication and flow control constructs in shader model 2.0.

Optimized HLSL output - We are continuing to make the HLSL compiler produce as optimal code as possible. This is an ongoing operation.

Precomputed Radiance Transfer - We have introduced functions that make it possible to display precomputed Radiance transfer in realtime. The functions that enable this use the technique called Spherical Harmonics and are in the updated math library. For more information refer to the new lighting samples and documentation in the SDK.Spherical harmonics are a way of storing and calculating complex lighting operations the can be displayed in real time. Self shadowing and Self interreflected lighting in any lighting environment
"Introduced functions that make it possible"? Hmmm...

Effects Framework Improvements:
  • Parameter blocks - A way to define a set of parameters at the start of a program that encapsulate the parameter settings for a particular object. After definition, the drawing loop will use the parameter block associated with a mesh to set the variables for that mesh so it is painless for the developer.
  • State change tracking - A way to track effect state settings. When a technique for an effect is executed it will execute the callback function that is defined by the user. This function will be passed the states that the effect set so that the application can track all state changes.
Animation System Improvements:
  • Data Compression - Animation data is compressed to reduce the footprint of, traditionally large, animation sets.
  • Looping - Looping is now a property of the animation set. Loop forever, Loop once, and ping-pong style looping.
  • Callbacks - Keyframed animation sets support callback keys, each key containing a time (in tick units), and a pointer to user-owned data.
  • Event Querying - Each event now has a unique handle that expires when the event expires. Unexpired handles can be used to get the description of the event.
Issues:
  • This product includes software developed by the University of California, Berkeley. Hmm?
  • When drawing lines with the DrawTransform method, the line will be drawn incorrectly if part of the line is clipped by the clipping planes.
    The binaries for the Max X file exporter are no longer included in the distribution. In order to use it, compile the plug-in with your version of Max. This should ensure proper functionality of the exporter.
  • The binaries for the Max X file exporter are no longer included in the distribution. In order to use it, compile the plug-in with your version of Max. This should ensure proper functionality of the exporter.

Some neat samples too. Along with a metaball effect mimicry, motion blur, and HDR (with blooming, blue-shift in low light, and simulation of camera/eye adjustment delay to changing light conditions...and I wonder if, in relation to this, Valve's implementation might be this amibtious), there were specific ones related to what caught my eye above, including mention of what appear to be some of those "introduced functions":
  • SHIrradianceEnvMap - This sample shows how to light an environment by projecting a directional light into spherical harmonics.
...
  • SHPRTVertex - This sample demonstrates how use D3DXSHPRTSimulation(), a vertex based precomputed radiance transfer (PRT) simulator that uses low-order spherical harmonics (SH) and records the results to a file. The sample can then view the results in real time with a vs_1_1 vertex shader.
...
  • SHPRTPixel - This sample demonstrates how to use D3DXSHPRTSimulationTex(), a per texel precomputed radiance transfer (PRT) simulator that uses low-order spherical harmonics (SH) and records the results to a file. The sample then demonstrates how compress the result with principal component analysis (PCA) and view the compressed results with arbitrary lighting in real time with a PS_2_0 pixel shader.
 
The per-pixel PRT simulator seems to be a bit broken. On certain materials, when using sub-surface scattering you get a bunch of odd artifacts. I reported this bug right around when RC0 was released but it was never fixed.

PRTErr.jpg


Here's the identical settings done per-vertex:
VPRTNoErr.jpg


The settings for anyone who wants to recreate it are:
6th order SH
256 texture size
4096 rays
0 bounces
25.0 length scale
Subsurface scattering with the Spectralon material settings.
 
demalion said:
  • This product includes software developed by the University of California, Berkeley. Hmm?

The BSD license allows you to reuse the code freely, but it requires that you have to tell that you've used their code.
 
hkultala said:
demalion said:
  • This product includes software developed by the University of California, Berkeley. Hmm?

The BSD license allows you to reuse the code freely, but it requires that you have to tell that you've used their code.

I was more wondering about what was licensed than the mention itself.
 
Daliden said:
Those "seams" look suspiciously like insufficient precision near coordinate zero?

It looks like a texture mapping issue to me, like cylindrical texture mapping with an incorrect setting, causing a problem at the line where opposite edges of the texture meet.
 
Back
Top