~baltix/+junk/irrlicht-test

« back to all changes in this revision

Viewing changes to source/Irrlicht/ITriangleRenderer.h

  • Committer: Mantas Kriaučiūnas
  • Date: 2011-07-18 13:06:25 UTC
  • Revision ID: mantas@akl.lt-20110718130625-c5pvifp61e7kj1ol
Included whole irrlicht SVN libraries to work around launchpad recipe issue with quilt, see https://answers.launchpad.net/launchpad/+question/165193

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (C) 2002-2011 Nikolaus Gebhardt
 
2
// This file is part of the "Irrlicht Engine".
 
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
 
4
 
 
5
#ifndef __I_TRIANGLE_RENDERER_H_INCLUDED__
 
6
#define __I_TRIANGLE_RENDERER_H_INCLUDED__
 
7
 
 
8
#include "IReferenceCounted.h"
 
9
#include "S2DVertex.h"
 
10
#include "rect.h"
 
11
#include "IZBuffer.h"
 
12
 
 
13
namespace irr
 
14
{
 
15
namespace video
 
16
{
 
17
        class IImage;
 
18
 
 
19
        enum ETriangleRenderer
 
20
        {
 
21
                ETR_FLAT = 0,
 
22
                ETR_FLAT_WIRE,
 
23
                ETR_GOURAUD,
 
24
                ETR_GOURAUD_WIRE,
 
25
                ETR_TEXTURE_FLAT,
 
26
                ETR_TEXTURE_FLAT_WIRE,
 
27
                ETR_TEXTURE_GOURAUD,
 
28
                ETR_TEXTURE_GOURAUD_WIRE,
 
29
                ETR_TEXTURE_GOURAUD_NOZ,
 
30
                ETR_TEXTURE_GOURAUD_ADD,
 
31
                ETR_COUNT
 
32
        };
 
33
 
 
34
        class ITriangleRenderer : public virtual IReferenceCounted
 
35
        {
 
36
        public:
 
37
        
 
38
                //! sets a render target
 
39
                virtual void setRenderTarget(video::IImage* surface, const core::rect<s32>& viewPort) = 0;
 
40
 
 
41
                //! en or disables the backface culling
 
42
                virtual void setBackfaceCulling(bool enabled = true) = 0;
 
43
 
 
44
                //! sets the Texture
 
45
                virtual void setTexture(video::IImage* texture) = 0;
 
46
 
 
47
                //! draws an indexed triangle list
 
48
                virtual void drawIndexedTriangleList(S2DVertex* vertices, s32 vertexCount, const u16* indexList, s32 triangleCount) = 0;
 
49
        };
 
50
 
 
51
 
 
52
        ITriangleRenderer* createTriangleRendererTextureGouraud(IZBuffer* zbuffer);
 
53
        ITriangleRenderer* createTriangleRendererTextureGouraudWire(IZBuffer* zbuffer);
 
54
        ITriangleRenderer* createTriangleRendererGouraud(IZBuffer* zbuffer);
 
55
        ITriangleRenderer* createTriangleRendererGouraudWire(IZBuffer* zbuffer);
 
56
        ITriangleRenderer* createTriangleRendererTextureFlat(IZBuffer* zbuffer);
 
57
        ITriangleRenderer* createTriangleRendererTextureFlatWire(IZBuffer* zbuffer);
 
58
        ITriangleRenderer* createTriangleRendererFlat(IZBuffer* zbuffer);
 
59
        ITriangleRenderer* createTriangleRendererFlatWire(IZBuffer* zbuffer);
 
60
        ITriangleRenderer* createTriangleRendererTextureGouraudNoZ();
 
61
        ITriangleRenderer* createTriangleRendererTextureGouraudAdd(IZBuffer* zbuffer);
 
62
 
 
63
 
 
64
} // end namespace video
 
65
} // end namespace irr
 
66
 
 
67
#endif
 
68