NullDriver.hx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package h3d.impl;
  2. import h3d.impl.Driver;
  3. class NullDriver extends Driver {
  4. var cur : hxsl.RuntimeShader;
  5. public function new() {
  6. }
  7. override function hasFeature( f : Feature ) {
  8. return true;
  9. }
  10. override function isSupportedFormat( fmt : h3d.mat.Data.TextureFormat ) {
  11. return true;
  12. }
  13. override function logImpl(str:String) {
  14. #if sys
  15. Sys.println(str);
  16. #else
  17. trace(str);
  18. #end
  19. }
  20. override function isDisposed() {
  21. return false;
  22. }
  23. override function getDriverName( details : Bool ) {
  24. return "NullDriver";
  25. }
  26. override function init( onCreate : Bool -> Void, forceSoftware = false ) {
  27. onCreate(false);
  28. }
  29. override function selectShader( shader : hxsl.RuntimeShader ) {
  30. if( cur == shader ) return false;
  31. cur = shader;
  32. return true;
  33. }
  34. override function getShaderInputNames() : Array<String> {
  35. var names = [];
  36. for( v in cur.vertex.data.vars )
  37. if( v.kind == Input )
  38. names.push(v.name);
  39. return names;
  40. }
  41. override function allocTexture( t : h3d.mat.Texture ) : Texture {
  42. return cast {};
  43. }
  44. override function allocIndexes( count : Int ) : IndexBuffer {
  45. return cast {};
  46. }
  47. override function allocVertexes( m : ManagedBuffer ) : VertexBuffer {
  48. return cast {};
  49. }
  50. }