forked from kumpera/PixelMagic
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
36 lines (25 loc) · 1.11 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
PixelMagic
==========
PixelMagic is a framework that implements HLSL shaders. It features both an interpreter
and a compiler that generates Mono.Simd code that can exploit the full potential of your
CPU. Only PS 2.0 is supported.
Effects can be applied to in-memory buffers or cairo image surfaces.
Testing
===========
The test suite is generated by applying shaders to a png image and saving the result.
Some of the effects come from (http://wpffx.codeplex.com/).
TODO
====
Compiler:
Write results using a Surface object, this is slow.
Specialize for simple samplers so their can be inlined
Texture coords should be folded into a pair of floats if only used with texload
Maybe eliminate the i,j loop variables and test for tex.x|y < 0
Remove the fdiv in the inner loop, cache hq / 2 in a variable outside
Use loop tilling if any sampler is doing bilinear filtering or if we detect that fetches are transformed
TestSuite:
Add support for maximum allowed error rate
Links
=====
HLSL reference: http://msdn.microsoft.com/en-us/library/ee418149(VS.85).aspx
Shader codes: http://msdn.microsoft.com/en-us/library/ms800355.aspx