Cortex
10.0.0-a4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
include
IECoreGL
Texture.h
1
//
3
// Copyright (c) 2007-2012, Image Engine Design Inc. All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
//
12
// * Redistributions in binary form must reproduce the above copyright
13
// notice, this list of conditions and the following disclaimer in the
14
// documentation and/or other materials provided with the distribution.
15
//
16
// * Neither the name of Image Engine Design nor the names of any
17
// other contributors to this software may be used to endorse or
18
// promote products derived from this software without specific prior
19
// written permission.
20
//
21
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
22
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
//
34
35
#ifndef IECOREGL_TEXTURE_H
36
#define IECOREGL_TEXTURE_H
37
38
#include "IECoreGL/Export.h"
39
#include "
IECoreGL/GL.h
"
40
#include "IECoreGL/Bindable.h"
41
42
#include "IECoreImage/ImagePrimitive.h"
43
44
namespace
IECoreGL
45
{
46
47
IE_CORE_FORWARDDECLARE( FrameBuffer );
48
59
class
IECOREGL_API
Texture
:
public
Bindable
60
{
61
public
:
62
63
friend
class
FrameBuffer
;
64
65
IE_CORE_DECLARERUNTIMETYPEDEXTENSION(
IECoreGL::Texture
, TextureTypeId,
Bindable
);
66
69
Texture
( GLuint texture );
70
~
Texture
()
override
;
71
73
void
bind()
const override
;
74
75
class
IECOREGL_API ScopedBinding
76
{
77
78
public
:
79
80
ScopedBinding(
const
Texture
&texture );
81
~ScopedBinding();
82
83
private
:
84
85
GLint m_prevTexture;
86
87
};
88
90
virtual
IECoreImage::ImagePrimitivePtr imagePrimitive()
const
;
91
92
protected
:
93
94
Texture
();
95
97
GLuint
m_texture
;
98
99
};
100
101
IE_CORE_DECLAREPTR(
Texture
);
102
103
}
// namespace IECoreGL
104
105
#endif // IECOREGL_TEXTURE_H
IECoreGL::Texture
Definition:
Texture.h:59
IECoreGL::Texture::m_texture
GLuint m_texture
Derived classes must set this in their constructor.
Definition:
Texture.h:97
IECoreGL
The namespace within which all CoreGL functionality is defined.
Definition:
AlphaTexture.h:41
IECoreGL::FrameBuffer
Definition:
FrameBuffer.h:55
GL.h
IECoreGL::Bindable
Definition:
Bindable.h:49
Generated on Tue Oct 24 2017 13:52:49 for Cortex by
1.8.9.1