Wednesday, December 11, 2002

High Level Shading with DirectX9 on RADEON 9700 series
- high-lvel shading language (HLSL)-> compiler;
- this gen of hardware:
* longer shaders; floating pixel pipe;
- texture-map sampler
- D3DX Effects
- filter kernel????!!!!!
- filter taps???...
- cameras in 3D graphics implicitly use pinhole-camera
- book: Advanced Renderman
- HLSL vs Cg ????
- point: analyse compiler output!!!
- RenderMonkey - shader IDE
- textures as lookup-tables?
- www.ati.com/developer/sdk/radeonSDK/html/Tools/RenderMonkey.html
- GL2 - OpenGL high-level shading language shading language
The Matrix and Quaternions FAQ

Good stuff.

eg. The determinant of a matrix is a floating point value which is used to indicate whether the matrix has an inverse or not. If zero, then no inverse exists. If non-zero, then a determinant exists.
http://gamedev.net/reference/articles/article1691.asp#Q14
Using Graphics Cards for Quantized FEM Computations
- Graphics cards exercise increasingly more computing
power and are highly optimized for high data transfer vol-
umes. In contrast typical workstations perform badly when
data exceeds their processor caches. Performance of scien-
tific computations very often is wrecked by this deficiency.

- Broad access to graphics memory and
parallel processing of image operands thus turns the graph-
ics card into an ultrafast vector coprocessor.

- In the last years graphics hardware design has been particularly sensitive to memory bandwidth problems due to a
rapidly increasing data transfer volume. As a result mod-
ern GPUs can access and transfer large data blocks tremen-
dously faster than the CPU.

Monday, December 09, 2002

ATI Online Seminar:

" High Level Shading with DirectX® 9 on ATI's RADEON™ 9700 Series "

http://www.netseminar.com/nss/tableUpdateTemplateModify

Presentation Thank you for registering. Please check back or refresh 30 minutes before time of NetSeminar for the presentation link. Date / Time December 11, 2002 / 11:00 AM-12:00 PM (PST)
December 11, 2002 / 07:00 PM-08:00 PM (GMT) Duration 60 minutes Speaker(s)

Jason L. Mitchell , Team Lead of the 3D Application Research Group at ATI Research

Guennadi Riguer, Software Developer at ATI Technologies
DIVERSION (but related) Thread Local Storage:

http://lwn.net/Articles/5851/

what is TLS? Thread Local Storage is a concept used by threading
abstractions - fast an efficient way to store per-thread local (but not
on-stack local) data. The __thread extension is already supported by gcc.

proper TLS support in compilers (and glibc/pthreads) is a bit problematic
on the x86 platform. There's only 8 general purpose registers available,
so on x86 we have to use segments to access the TLS. The approach used by
glibc so far was to set up a per-thread LDT entry to describe the TLS.
Besides the generic unrobustness of LDTs, this also introduced a limit:
the maximum number of LDT entries is 8192, so the maximum number of
threads per application is 8192.
DIVERSION (but related)The O(1) scheduler vs. the old linux scheduler:

JA: How do JVMs trigger an inefficiency in the old scheduler?

Ingo Molnar: the Java programming model prefers the use of many 'threads' - which is a valid and popular application programming model. So JVMs under Linux tend to be amongst the applications that use the most processes/threads, which are interacting in complex ways. Schedulers usually have the most work to do when there are more tasks in the systems, so JVMs tend to trigger scheduler inefficiencies sooner than perhaps any other Linux application.