Skip to content

kangaroo/PixelMagic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

HLSL implementation for the CLR

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%