2016-05-07 12:42:07 +02:00
|
|
|
// Copyright 2016 Hajime Hoshi
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
|
|
|
|
|
|
|
package opengl
|
|
|
|
|
2016-06-03 21:04:18 +02:00
|
|
|
var ZeroFramebuffer Framebuffer
|
|
|
|
|
2016-05-07 12:42:07 +02:00
|
|
|
type Context struct {
|
|
|
|
Nearest Filter
|
|
|
|
Linear Filter
|
|
|
|
VertexShader ShaderType
|
|
|
|
FragmentShader ShaderType
|
|
|
|
ArrayBuffer BufferType
|
|
|
|
ElementArrayBuffer BufferType
|
|
|
|
DynamicDraw BufferUsage
|
|
|
|
StaticDraw BufferUsage
|
|
|
|
Triangles Mode
|
|
|
|
Lines Mode
|
|
|
|
zero operation
|
|
|
|
one operation
|
|
|
|
srcAlpha operation
|
|
|
|
dstAlpha operation
|
|
|
|
oneMinusSrcAlpha operation
|
|
|
|
oneMinusDstAlpha operation
|
|
|
|
locationCache *locationCache
|
2016-05-31 19:33:31 +02:00
|
|
|
lastFramebuffer Framebuffer
|
2016-05-07 12:42:07 +02:00
|
|
|
lastCompositeMode CompositeMode
|
|
|
|
context
|
|
|
|
}
|
2016-05-31 19:33:31 +02:00
|
|
|
|
|
|
|
func (c *Context) bindFramebuffer(f Framebuffer) {
|
2016-06-03 20:40:56 +02:00
|
|
|
if c.lastFramebuffer != f {
|
|
|
|
c.bindFramebufferImpl(f)
|
|
|
|
c.lastFramebuffer = f
|
|
|
|
}
|
2016-05-31 19:33:31 +02:00
|
|
|
}
|