本文整理汇总了Golang中github.com/banthar/gl.MatrixMode函数的典型用法代码示例。如果您正苦于以下问题:Golang MatrixMode函数的具体用法?Golang MatrixMode怎么用?Golang MatrixMode使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MatrixMode函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Reshape
/* new window size or exposure */
func (self *Viewport) Reshape(width int, height int) {
self.selectionDirty = false
self.screenWidth = width
self.screenHeight = height
gl.Viewport(0, 0, width, height)
viewWidth := float64(self.screenWidth) / float64(SCREEN_SCALE)
viewHeight := float64(self.screenHeight) / float64(SCREEN_SCALE)
self.lplane = -viewWidth / 2
self.rplane = viewWidth / 2
self.bplane = -viewHeight / 4
self.tplane = 3 * viewHeight / 4
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(self.lplane, self.rplane, self.bplane, self.tplane, -60, 60)
// self.Perspective(90, 1, 0.01,1000);
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
picker.x = float32(viewport.rplane) - picker.radius + BLOCK_SCALE*0.5
picker.y = float32(viewport.bplane) + picker.radius - BLOCK_SCALE*0.5
}
开发者ID:codygman,项目名称:amberfell,代码行数:28,代码来源:viewport.go
示例2: SetProjection2D
func (this *Window) SetProjection2D() {
gl.MatrixMode(gl.PROJECTION)
gl.Viewport(0, 0, int(this.Width()), int(this.Height()))
gl.LoadIdentity()
gl.Ortho(0, float64(this.Width()), 0, float64(this.Height()), -1.0, 1.0)
gl.MatrixMode(gl.MODELVIEW)
}
开发者ID:swantescholz,项目名称:coding,代码行数:7,代码来源:window.go
示例3: drawDigits
func drawDigits(x, y int, digits []int8) {
s := sdl.GetVideoSurface()
lft, rgt, btm, top := 0.0, float64(s.W), float64(s.H), 0.0
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.MatrixMode(gl.PROJECTION)
gl.PushMatrix()
gl.LoadIdentity()
gl.Ortho(lft, rgt, btm, top, 0.0, 1.0)
gl.MatrixMode(gl.MODELVIEW)
gl.PushMatrix()
gl.LoadIdentity()
w := digitImages[0].Rect.Dx()
for i := 0; i < len(digits); i++ {
img := digitImages[digits[i]]
drawImage(x-w*i-i, y, img)
}
gl.MatrixMode(gl.MODELVIEW)
gl.PopMatrix()
gl.MatrixMode(gl.PROJECTION)
gl.PopMatrix()
}
开发者ID:shogg,项目名称:glfps,代码行数:28,代码来源:glfps.go
示例4: main
func main() {
glfw.Init()
defer glfw.Terminate()
glfw.OpenWindow(640, 480, 8, 8, 8, 8, 0, 0, glfw.Windowed)
defer glfw.CloseWindow()
glfw.SetWindowTitle("Tile test")
glfw.Enable(glfw.StickyKeys)
glfw.SetSwapInterval(1)
glfw.SetKeyCallback(inputCallback)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, GridWidth, GridHeight, 0, -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.Disable(gl.DEPTH_TEST)
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.ClearColor(0.0, 0.0, 0.0, 1.0)
initResources()
initWorld()
for Running {
if (time.Since(DT).Nanoseconds() / 1000000) > 15 { //don't loop faster than every 15ms
DT = time.Now()
gl.Clear(gl.COLOR_BUFFER_BIT)
player.update()
renderScene()
glfw.SwapBuffers()
}
}
}
开发者ID:remirisque,项目名称:miniworld,代码行数:35,代码来源:main.go
示例5: OpenWindow
// OpenWindow opens a new window with the given size.
func OpenWindow(w, h int) error {
glfw.OpenWindowHint(glfw.WindowNoResize, 1)
r, g, b := 0, 0, 0 // defaults
a := 8 // 8-bit alpha channel
d, s := 0, 0 // no depth or stencil buffers
m := glfw.Windowed
if err := glfw.OpenWindow(w, h, r, g, b, a, d, s, m); err != nil {
return err
}
if gl.Init() != 0 {
return errors.New("Failed to initialize OpenGL")
}
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.ClearColor(0.0, 0.0, 0.0, 0.0)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(w), 0, float64(-h), -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Translated(0, float64(-h), 0)
return nil
}
开发者ID:vivounicorn,项目名称:eaburns,代码行数:28,代码来源:ui.go
示例6: Reshape
func (v *Video) Reshape(width int, height int) {
x_offset := 0
y_offset := 0
r := ((float64)(height)) / ((float64)(width))
if r > 0.9375 { // Height taller than ratio
h := (int)(math.Floor((float64)(0.9375 * (float64)(width))))
y_offset = (height - h) / 2
height = h
} else if r < 0.9375 { // Width wider
var scrW, scrH float64
if ppu.OverscanEnabled {
scrW = 240.0
scrH = 224.0
} else {
scrW = 256.0
scrH = 240.0
}
w := (int)(math.Floor((float64)((scrH / scrW) * (float64)(height))))
x_offset = (width - w) / 2
width = w
}
gl.Viewport(x_offset, y_offset, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(-1, 1, -1, 1, -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Disable(gl.DEPTH_TEST)
}
开发者ID:bombless,项目名称:Fergulator,代码行数:33,代码来源:video.go
示例7: Reshape
/* new window size or exposure */
func (self *Viewport) Reshape(width int, height int) {
self.selectionDirty = false
self.screenWidth = width
self.screenHeight = height
gl.Viewport(0, 0, width, height)
viewWidth := float64(self.screenWidth) / float64(SCREEN_SCALE)
viewHeight := float64(self.screenHeight) / float64(SCREEN_SCALE)
self.lplane = -viewWidth / 2
self.rplane = viewWidth / 2
self.bplane = -viewHeight / 4
self.tplane = 3 * viewHeight / 4
println("self.lplane:", self.lplane, "self.rplane", self.rplane)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(self.lplane, self.rplane, self.bplane, self.tplane, -60, 60)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
picker.x = float32(viewport.rplane) - picker.radius + blockscale*0.5
picker.y = float32(viewport.bplane) + picker.radius - blockscale*0.5
}
开发者ID:uriel,项目名称:amberfell,代码行数:28,代码来源:viewport.go
示例8: reshape
// Handle the window being resized.
func reshape(width int, height int) {
// Render into the entire window.
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
// Configure the Frustrum so the front face of the rendering
// volume fills the screen.
w := float64(width)
h := float64(height)
depth := (w + h) / 2
near := depth / 2.0
right := w / 4.0
top := h / 4.0
far := 4 * depth
gl.Frustum(-right, right, -top, top, near, far)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
// Center the rendering volume in the viewport. Its origin
// is at the far lower left corner.
gl.Translated(-w/2, -h/2, -2*depth)
}
开发者ID:glenn-brown,项目名称:vu,代码行数:27,代码来源:window.go
示例9: resizeWindow
// reset our viewport after a window resize
func resizeWindow(width, height int) {
// protect against a divide by zero
if height == 0 {
height = 1
}
// Setup our viewport
gl.Viewport(0, 0, int(width), int(height))
// change to the projection matrix and set our viewing volume.
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
// aspect ratio
aspect := gl.GLdouble(gl.GLfloat(width) / gl.GLfloat(height))
// Set our perspective.
// This code is equivalent to using gluPerspective as in the original tutorial.
var fov, near, far gl.GLdouble
fov = 45.0
near = 0.1
far = 100.0
top := gl.GLdouble(math.Tan(float64(fov*math.Pi/360.0))) * near
bottom := -top
left := aspect * bottom
right := aspect * top
gl.Frustum(float64(left), float64(right), float64(bottom), float64(top), float64(near), float64(far))
// Make sure we're changing the model view and not the projection
gl.MatrixMode(gl.MODELVIEW)
// Reset the view
gl.LoadIdentity()
}
开发者ID:navneet1v,项目名称:opengl-go-tutorials,代码行数:35,代码来源:lesson08.go
示例10: display
func display() {
gl.Clear(gl.COLOR_BUFFER_BIT)
bitmap_output(40, 35, "This is written in a GLUT bitmap font.", glut.BITMAP_TIMES_ROMAN_24)
bitmap_output(30, 210, "More bitmap text is a fixed 9 by 15 font.", glut.BITMAP_9_BY_15)
bitmap_output(70, 240, " Helvetica is yet another bitmap font.", glut.BITMAP_HELVETICA_18)
gl.MatrixMode(gl.PROJECTION)
gl.PushMatrix()
gl.LoadIdentity()
glu.Perspective(40.0, 1.0, 0.1, 20.0)
gl.MatrixMode(gl.MODELVIEW)
gl.PushMatrix()
glu.LookAt(0.0, 0.0, 4.0, /* eye is at (0,0,30) */
0.0, 0.0, 0.0, /* center is at (0,0,0) */
0.0, 1.0, 0.0) /* up is in postivie Y direction */
gl.PushMatrix()
gl.Translatef(0, 0, -4)
gl.Rotatef(50, 0, 1, 0)
stroke_output(-2.5, 1.1, " This is written in a", glut.STROKE_ROMAN)
stroke_output(-2.5, 0, " GLUT stroke font.", glut.STROKE_ROMAN)
stroke_output(-2.5, -1.1, "using 3D perspective.", glut.STROKE_ROMAN)
gl.PopMatrix()
gl.MatrixMode(gl.MODELVIEW)
gl.PopMatrix()
gl.MatrixMode(gl.PROJECTION)
gl.PopMatrix()
gl.MatrixMode(gl.MODELVIEW)
gl.Flush()
}
开发者ID:tmc,项目名称:glut,代码行数:29,代码来源:fontdemo.go
示例11: InitGLWindow
// Initialize the OpenGL configuration with the information from the current window.
func InitGLWindow(w, h int) {
gl.Viewport(0, 0, w, h)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
glu.Perspective(45.0, float64(w)/float64(h), 0.1, 100.0)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:andrebq,项目名称:tinygl,代码行数:9,代码来源:triangle.go
示例12: reshape
func reshape(w, h int) {
gl.Viewport(0, 0, w, h)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(w), 0, float64(h), -1, 1)
gl.Scalef(1, -1, 1)
gl.Translatef(0, float32(-h), 0)
gl.MatrixMode(gl.MODELVIEW)
}
开发者ID:tmc,项目名称:glut,代码行数:9,代码来源:fontdemo.go
示例13: Draw
func (self *Console) Draw(t int64) {
gl.MatrixMode(gl.MODELVIEW)
gl.PushMatrix()
gl.LoadIdentity()
gl.Disable(gl.DEPTH_TEST)
gl.Disable(gl.LIGHTING)
gl.Disable(gl.LIGHT0)
gl.Disable(gl.LIGHT1)
h := float32(consoleFont.height) * PIXEL_SCALE
margin := float32(3.0) * PIXEL_SCALE
consoleHeight := 3 * h
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Color4ub(0, 0, 0, 208)
gl.Begin(gl.QUADS)
gl.Vertex2f(float32(viewport.lplane), float32(viewport.bplane)+consoleHeight+margin*2) // Bottom Left Of The Texture and Quad
gl.Vertex2f(float32(viewport.rplane), float32(viewport.bplane)+consoleHeight+margin*2) // Bottom Right Of The Texture and Quad
gl.Vertex2f(float32(viewport.rplane), float32(viewport.bplane)) // Top Right Of The Texture and Quad
gl.Vertex2f(float32(viewport.lplane), float32(viewport.bplane)) // Top Left Of The Texture and Quad
gl.End()
gl.Translatef(float32(viewport.lplane)+margin, float32(viewport.bplane)+consoleHeight+margin-h, 0)
consoleFont.Print(fmt.Sprintf("FPS: %5.2f V: %d (%d) CH: %d M: %d", self.fps, self.vertices, self.culledVertices, len(TheWorld.chunks), len(TheWorld.mobs)))
gl.LoadIdentity()
gl.Translatef(float32(viewport.lplane)+margin, float32(viewport.bplane)+consoleHeight+margin-2*h, 0)
consoleFont.Print(fmt.Sprintf("X: %5.2f Y: %4.2f Z: %5.2f H: %5.2f (%s) D: %0.1f (%d)", ThePlayer.position[XAXIS], ThePlayer.position[YAXIS], ThePlayer.position[ZAXIS], ThePlayer.heading, HeadingToCompass(ThePlayer.heading), ThePlayer.distanceTravelled, ThePlayer.distanceFromStart))
gl.LoadIdentity()
gl.Translatef(float32(viewport.lplane)+margin, float32(viewport.bplane)+consoleHeight+margin-3*h, 0)
numgc := uint32(0)
avggc := float64(0)
var last3 [3]float64
if self.mem.NumGC > 3 {
numgc = self.mem.NumGC
avggc = float64(self.mem.PauseTotalNs) / float64(self.mem.NumGC) / 1e6
index := int(numgc) - 1
if index > 255 {
index = 255
}
last3[0] = float64(self.mem.PauseNs[index]) / 1e6
last3[1] = float64(self.mem.PauseNs[index-1]) / 1e6
last3[2] = float64(self.mem.PauseNs[index-2]) / 1e6
}
consoleFont.Print(fmt.Sprintf("Mem: %.1f/%.1f GC: %.1fms [%d: %.1f, %.1f, %.1f] ChGen: %.1fms | Sc: %.1f TOD: %.1f", float64(self.mem.Alloc)/(1024*1024), float64(self.mem.Sys)/(1024*1024), avggc, numgc, last3[0], last3[1], last3[2], float64(self.chunkGenerationTime)/1e6, viewport.scale, timeOfDay))
gl.PopMatrix()
}
开发者ID:caustin,项目名称:amberfell,代码行数:56,代码来源:console.go
示例14: onResize
func onResize(w, h int) {
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Viewport(0, 0, w, h)
gl.Ortho(0, float64(w), float64(h), 0, -1.0, 1.0)
gl.ClearColor(1, 1, 1, 0)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:sycoso,项目名称:glfw,代码行数:10,代码来源:main.go
示例15: initialize
func initialize(WIDTH, HEIGHT int) {
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(WIDTH), float64(HEIGHT), 0, 0, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.Disable(gl.DEPTH_TEST)
}
开发者ID:reiver,项目名称:lifepack,代码行数:12,代码来源:main.go
示例16: reshape
/* new window size or exposure */
func reshape(width int, height int) {
h := float64(height) / float64(width)
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Frustum(-1.0, 1.0, -h, h, 5.0, 60.0)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Translatef(0.0, 0.0, -40.0)
}
开发者ID:nkostelnik,项目名称:gl,代码行数:13,代码来源:glfwgears.go
示例17: onResize
func onResize(w, h int) {
if h == 0 {
h = 1
}
gl.Viewport(0, 0, w, h)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(-1, 1, -1, 1, -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Disable(gl.DEPTH_TEST)
}
开发者ID:samnardoni,项目名称:ca,代码行数:13,代码来源:ca.go
示例18: reshape
func (this *Window) reshape(w, h int) {
gl.Viewport(0, 0, w, h)
ratio := Double(w) / Double(h)
var znear, zfar, fovx Double = 0.01, 65536.0, 80.0
this.projectionMatrix = mat4.Projection(fovx.ToRad(), ratio, znear, zfar)
if globals.UseShader {
program.SetProjectionMatrix(this.projectionMatrix)
program.SetFarClipplane(zfar)
}
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.LoadMatrixd(this.projectionMatrix.Ptr())
gl.MatrixMode(gl.MODELVIEW)
}
开发者ID:swantescholz,项目名称:coding,代码行数:14,代码来源:window.go
示例19: initScreen
func initScreen() {
sdl.Init(sdl.INIT_VIDEO)
const (
resx int = 640
resy int = 480
)
var (
screen = sdl.SetVideoMode(resx, resy, 16, sdl.OPENGL)
)
if screen == nil {
sdl.Quit()
panic("Couldn't set GL video mode: " + sdl.GetError() + "\n")
}
if gl.Init() != 0 {
panic("gl error")
}
gl.MatrixMode(gl.PROJECTION)
//gl.MatrixMode(gl.MODELVIEW)
gl.Viewport(0, 0, int(screen.W), int(screen.H))
gl.LoadIdentity()
gl.Ortho(0, float64(screen.W), float64(screen.H), 0, -1.0, 1.0)
//gl.DepthRange(-1, 1)
gl.ClearColor(0, 0, 0, 0)
gl.Clear(gl.COLOR_BUFFER_BIT)
}
开发者ID:charlieb,项目名称:gostrange,代码行数:30,代码来源:main.go
示例20: Draw
func (s *Sprite) Draw(x, y, angle, scale float32, blend bool) {
gl.Enable(gl.TEXTURE_2D)
gl.Disable(gl.COLOR_MATERIAL)
if blend {
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Enable(gl.BLEND)
} else {
gl.Disable(gl.BLEND)
gl.BlendFunc(gl.ONE, gl.ZERO)
}
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Translatef(x, y, 0)
gl.Rotatef(angle*360/(2*math.Pi), 0, 0, 1)
gl.Scalef(scale, scale, 1)
s.tex.Bind(gl.TEXTURE_2D)
gl.Begin(gl.QUADS)
gl.Color3f(1, 1, 1)
gl.TexCoord2d(0, 0)
gl.Vertex3f(-0.5*s.width, -0.5*s.height, 0)
gl.TexCoord2d(1, 0)
gl.Vertex3f(0.5*s.width, -0.5*s.height, 0)
gl.TexCoord2d(1, 1)
gl.Vertex3f(0.5*s.width, 0.5*s.height, 0)
gl.TexCoord2d(0, 1)
gl.Vertex3f(-0.5*s.width, 0.5*s.height, 0)
gl.End()
gl.Disable(gl.TEXTURE_2D)
gl.Disable(gl.BLEND)
}
开发者ID:mfpi,项目名称:lecture-hall-games,代码行数:31,代码来源:utils.go
注:本文中的github.com/banthar/gl.MatrixMode函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论