Skip to content

Commit

Permalink
defaultFramebuffer
Browse files Browse the repository at this point in the history
  • Loading branch information
elect86 committed Jan 17, 2018
1 parent 5caa642 commit d56e6c5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
13 changes: 6 additions & 7 deletions src/main/kotlin/gln/framebuffer/block.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ inline fun withFramebuffer(framebuffer: Int, block: Framebuffer.() -> Unit) {
Framebuffer.block()
}

// TODO check if leave
inline fun withFramebuffer(block: Framebuffer.() -> Unit) {
Framebuffer.name = 0
Framebuffer.block()
}
// TODO check if leave, backup current fbo?
//inline fun withDefaultFramebuffer(block: Framebuffer.() -> Unit) {
// Framebuffer.name = 0
// Framebuffer.block()
//}

object Framebuffer {

var name = 0
var name = defaultFramebuffer
set(value) {
GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, value)
field = value
Expand Down Expand Up @@ -100,5 +100,4 @@ object Framebuffers {
Framebuffer.name = names[index] // bind
Framebuffer.block()
}

}
3 changes: 2 additions & 1 deletion src/main/kotlin/gln/framebuffer/framebuffer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import kotlin.properties.Delegates

var framebufferName: IntBuffer by Delegates.notNull()

val defaultFramebuffer = 0

inline fun glFramebufferRenderbuffer(target: Int, attachment: Int, renderbuffertarget: Int, renderbuffer: Enum<*>) = GL30.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbufferName[renderbuffer])
inline fun glFramebufferRenderbuffer(target: Int, attachment: Int, renderbuffertarget: Int, renderbuffer: IntBuffer) = GL30.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer[0])
Expand All @@ -25,7 +26,7 @@ inline fun glBindFramebuffer(target: Int, framebuffer: IntBuffer) = GL30.glBindF
inline fun glBindFramebuffer(framebuffer: Enum<*>) = GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebufferName[framebuffer])
inline fun glBindFramebuffer(framebuffer: IntBuffer) = GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer[0])
inline fun glBindFramebuffer(framebuffer: Int) = GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer)
inline fun glBindFramebuffer() = GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0)
inline fun glBindFramebuffer() = GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, defaultFramebuffer)


//inline fun glFramebufferTexture2D(target: Int, attachment: Int, textarget: Int, texture: Int) = GL30.glFramebufferTexture2D(target, attachment, textarget, texture, 0) TODO renable without target
Expand Down

0 comments on commit d56e6c5

Please sign in to comment.