Rice GLES2 (from mupen64plus-ae) plugin. Compile but doesn't works well on the OpenPa...
[mupen64plus-pandora.git] / source / gles2rice / src / OGLCombiner.h
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  *   Mupen64plus - OGLCombiner.h                                           *
3  *   Mupen64Plus homepage: http://code.google.com/p/mupen64plus/           *
4  *   Copyright (C) 2002 Rice1964                                           *
5  *                                                                         *
6  *   This program is free software; you can redistribute it and/or modify  *
7  *   it under the terms of the GNU General Public License as published by  *
8  *   the Free Software Foundation; either version 2 of the License, or     *
9  *   (at your option) any later version.                                   *
10  *                                                                         *
11  *   This program is distributed in the hope that it will be useful,       *
12  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
13  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
14  *   GNU General Public License for more details.                          *
15  *                                                                         *
16  *   You should have received a copy of the GNU General Public License     *
17  *   along with this program; if not, write to the                         *
18  *   Free Software Foundation, Inc.,                                       *
19  *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.          *
20  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
21
22 #ifndef _OGL_COMBINER_H_
23 #define _OGL_COMBINER_H_
24
25 #include "Blender.h"
26 #include "Combiner.h"
27
28 class OGLRender;
29
30 class COGLColorCombiner : public CColorCombiner
31 {
32 public:
33     bool Initialize(void);
34     void InitCombinerBlenderForSimpleTextureDraw(uint32 tile=0);
35 protected:
36     friend class OGLDeviceBuilder;
37
38     void DisableCombiner(void);
39     void InitCombinerCycleCopy(void);
40     void InitCombinerCycleFill(void);
41     void InitCombinerCycle12(void);
42
43     COGLColorCombiner(CRender *pRender);
44     ~COGLColorCombiner();
45     OGLRender *m_pOGLRender;
46     
47     bool    m_bSupportAdd;
48     bool    m_bSupportSubtract;
49
50 #ifdef DEBUGGER
51     void DisplaySimpleMuxString(void);
52 #endif
53
54 };
55
56 class COGLBlender : public CBlender
57 {
58 public:
59     void NormalAlphaBlender(void);
60     void DisableAlphaBlender(void);
61     void BlendFunc(uint32 srcFunc, uint32 desFunc);
62     void Enable();
63     void Disable();
64
65 protected:
66     friend class OGLDeviceBuilder;
67     COGLBlender(CRender *pRender) : CBlender(pRender), m_pOGLRender((OGLRender*)pRender) {};
68     ~COGLBlender() {};
69
70     OGLRender *m_pOGLRender;
71 };
72
73
74 #endif
75
76
77