Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# IMaterialRendererServices.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2009 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
    00006 #define __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009 #include "SMaterial.h"
    00010 #include "S3DVertex.h"
    00011
    00012 namespace irr
    00013 {
    00014 namespace video
    00015 {
    00016
    00017 class IVideoDriver;
    00018
    00019
    00021 class IMaterialRendererServices
    00022 {
    00023 public:
    00024
    00026         virtual ~IMaterialRendererServices() {}
    00027
    00029
    00038         virtual void setBasicRenderStates(const SMaterial& material,
    00039                 const SMaterial& lastMaterial,
    00040                 bool resetAllRenderstates) = 0;
    00041
    00043
    00067         virtual bool setVertexShaderConstant(const c8* name, const f32* floats, int count) = 0;
    00068
    00070
    00075         virtual void setVertexShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
    00076
    00078
    00085         virtual bool setPixelShaderConstant(const c8* name, const f32* floats, int count) = 0;
    00086
    00088
    00093         virtual void setPixelShaderConstant(const f32* data, s32 startRegister, s32 constantAmount=1) = 0;
    00094
    00096
    00097         virtual IVideoDriver* getVideoDriver() = 0;
    00098 };
    00099
    00100 } // end namespace video
    00101 } // end namespace irr
    00102
    00103 #endif
    00104

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:03 2010 by Doxygen (1.5.6)