本文整理汇总了Golang中github.com/go-gl/gl.LoadIdentity函数的典型用法代码示例。如果您正苦于以下问题:Golang LoadIdentity函数的具体用法?Golang LoadIdentity怎么用?Golang LoadIdentity使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LoadIdentity函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: 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:richardjoo,项目名称:Fergulator,代码行数:33,代码来源:video.go
示例2: drawScene
func drawScene() {
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
gl.LoadIdentity()
gl.Translatef(-1.5, 0, -6)
gl.Rotatef(trisAngle, 0, 1, 0)
gl.Begin(gl.TRIANGLES)
gl.Color3f(1, 0, 0)
gl.Vertex3f(0, 1, 0)
gl.Color3f(0, 1, 0)
gl.Vertex3f(-1, -1, 0)
gl.Color3f(0, 0, 1)
gl.Vertex3f(1, -1, 0)
gl.End()
gl.LoadIdentity()
gl.Translatef(1.5, 0, -6)
gl.Rotatef(quadAngle, 1, 0, 0)
gl.Color3f(0.5, 0.5, 1.0)
gl.Begin(gl.QUADS)
gl.Vertex3f(-1, 1, 0)
gl.Vertex3f(1, 1, 0)
gl.Vertex3f(1, -1, 0)
gl.Vertex3f(-1, -1, 0)
gl.End()
trisAngle += 0.2
quadAngle -= 0.15
glfw.SwapBuffers()
}
开发者ID:jayschwa,项目名称:examples,代码行数:33,代码来源:main.go
示例3: initScene
func initScene() (err error) {
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.DEPTH_TEST)
gl.Enable(gl.LIGHTING)
gl.ClearColor(0.5, 0.5, 0.5, 0.0)
gl.ClearDepth(1)
gl.DepthFunc(gl.LEQUAL)
gl.Lightfv(gl.LIGHT0, gl.AMBIENT, ambient)
gl.Lightfv(gl.LIGHT0, gl.DIFFUSE, diffuse)
gl.Lightfv(gl.LIGHT0, gl.POSITION, lightpos)
gl.Enable(gl.LIGHT0)
gl.Viewport(0, 0, Width, Height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Frustum(-1, 1, -1, 1, 1.0, 10.0)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
goph, err := os.Open("../../data/gopher.png")
if err != nil {
panic(err)
}
defer goph.Close()
texture, err = createTexture(goph)
return
}
开发者ID:nzlov,项目名称:examples,代码行数:30,代码来源:gopher.go
示例4: draw
func draw() { // 从这里开始进行所有的绘制
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT) // 清除屏幕和深度缓存
gl.LoadIdentity() // 重置当前的模型观察矩阵
gl.Translatef(-1.5, 0.0, -6.0) // 左移 1.5 单位,并移入屏幕 6.0
gl.Rotatef(rtri, 0.0, 1.0, 0.0) // 绕Y轴旋转三角形
gl.Begin(gl.TRIANGLES) // 绘制三角形
gl.Color3f(1.0, 0.0, 0.0) // 设置当前色为红色
gl.Vertex3f(0.0, 1.0, 0.0) // 上顶点
gl.Color3f(0.0, 1.0, 0.0) // 设置当前色为绿色
gl.Vertex3f(-1.0, -1.0, 0.0) // 左下
gl.Color3f(0.0, 0.0, 1.0) // 设置当前色为蓝色
gl.Vertex3f(1.0, -1.0, 0.0) // 右下
gl.End() // 三角形绘制结束
gl.LoadIdentity() // 重置当前的模型观察矩阵
gl.Translatef(1.5, 0.0, -6.0) // 右移1.5单位,并移入屏幕 6.0
gl.Rotatef(rquad, 1.0, 0.0, 0.0) // 绕X轴旋转四边形
gl.Color3f(0.5, 0.5, 1.0) // 一次性将当前色设置为蓝色
gl.Begin(gl.QUADS) // 绘制正方形
gl.Vertex3f(-1.0, 1.0, 0.0) // 左上
gl.Vertex3f(1.0, 1.0, 0.0) // 右上
gl.Vertex3f(1.0, -1.0, 0.0) // 左下
gl.Vertex3f(-1.0, -1.0, 0.0) // 右下
gl.End()
rtri += 0.2 // 增加三角形的旋转变量
rquad -= 0.15 // 减少四边形的旋转变量
}
开发者ID:nzlov,项目名称:gogl,代码行数:31,代码来源:04.go
示例5: renderSwitch
func renderSwitch(s *Switch) {
gl.LoadIdentity()
// TODO constant
v := SwitchSize / 2
x, y := float32(s.X+v), float32(s.Y+v)
gl.Translatef(x, y, 0)
// Render the switch
gl.Color3f(1, 1, 1)
gl.Begin(gl.TRIANGLE_FAN)
gl.Vertex2d(0, 0)
vv := float64(v)
for i := float64(0); i <= SwitchSegments; i++ {
a := 2 * math.Pi * i / SwitchSegments
gl.Vertex2d(math.Sin(a)*vv, math.Cos(a)*vv)
}
gl.End()
if LineWidth != 0 {
// Render the shape
gl.Color3i(0, 0, 0)
gl.LineWidth(LineWidth)
gl.Begin(gl.LINE_LOOP)
for i := float64(0); i <= SwitchSegments; i++ {
a := 2 * math.Pi * i / SwitchSegments
gl.Vertex2d(math.Sin(a)*vv, math.Cos(a)*vv)
}
gl.End()
}
// Write the switch name
gl.LoadIdentity()
w, h := fonts[6].Metrics(s.name)
gl.Color3i(0, 0, 0)
fonts[6].Printf(x-float32(w)/2, y-float32(h)/2+2, s.name)
}
开发者ID:remogatto,项目名称:mozaik,代码行数:35,代码来源:main_init.go
示例6: main
func main() {
_ = fmt.Sprint()
if !glfw.Init() {
panic("Can't init glfw!")
}
defer glfw.Terminate()
// antialiasing
//glfw.WindowHint(glfw.Samples, 4)
window, err = glfw.CreateWindow(WindowWidth, WindowHeight, "Mozaik", nil, nil)
if err != nil {
panic(err)
}
defer window.Destroy()
// Ensure thread context
window.MakeContextCurrent()
//glfw.SwapInterval(1)
window.SetKeyCallback(keyCb)
window.SetMouseButtonCallback(mouseCb)
gl.Init()
gl.ClearColor(0.9, 0.85, 0.46, 0.0)
// useless in 2D
gl.Disable(gl.DEPTH_TEST)
// antialiasing
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Enable(gl.LINE_SMOOTH)
for i := int32(32); i < 72; i++ {
font := loadFonts(i)
defer font.Release()
fonts = append(fonts, font)
}
// Compute window radius
windowRadius = math.Sqrt(math.Pow(WindowHeight, 2) + math.Pow(WindowWidth, 2))
// Use window coordinates
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, WindowWidth, WindowHeight, 0, 0, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
g = NewGame()
g.Start()
go eventLoop(g)
go renderLoop(g)
Main()
g.Stop()
}
开发者ID:remogatto,项目名称:mozaik,代码行数:57,代码来源:main_init.go
示例7: reshape
// new window size
func reshape(window *glfw.Window, width, height int) {
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Frustum(-1.0, 1.0, -1.0, 1.0, 1, 20)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:nzlov,项目名称:gogl,代码行数:10,代码来源:09.go
示例8: reshape
// new window size
func reshape(window *glfw.Window, width, height int) {
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
glu.Perspective(45.0, float32(width)/float32(height), 0.1, 100.0)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:nzlov,项目名称:gogl,代码行数:10,代码来源:10.go
示例9: initGL
func initGL() {
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Viewport(0, 0, 800, 600)
gl.Ortho(0, 800, 600, 0, -1.0, 1.0)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.ClearColor(0.1, 0.05, 0.0, 1.0)
}
开发者ID:sixthgear,项目名称:deformable,代码行数:9,代码来源:main.go
示例10: onResize
// onResize sets up a simple 2d ortho context based on the window size
func onResize(window *glfw.Window, w, h int) {
w, h = window.GetSize() // query window to get screen pixels
width, height := window.GetFramebufferSize()
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(w), 0, float64(h), -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.ClearColor(1, 1, 1, 1)
}
开发者ID:niksaak,项目名称:chipmunk,代码行数:12,代码来源:bouncing_balls.go
示例11: reshape
func reshape(w, h int) {
// Write to both buffers, prevent flickering
gl.DrawBuffer(gl.FRONT_AND_BACK)
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.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:Tohie,项目名称:GoFlappyBird,代码行数:11,代码来源:flappybird.go
示例12: main
func main() {
var err error
if err = glfw.Init(); err != nil {
log.Fatalf("%v\n", err)
return
}
defer glfw.Terminate()
// Open window with FSAA samples (if possible).
glfw.OpenWindowHint(glfw.FsaaSamples, 4)
if err = glfw.OpenWindow(400, 400, 0, 0, 0, 0, 0, 0, glfw.Windowed); err != nil {
log.Fatalf("%v\n", err)
return
}
defer glfw.CloseWindow()
glfw.SetWindowTitle("Aliasing Detector")
glfw.SetSwapInterval(1)
if samples := glfw.WindowParam(glfw.FsaaSamples); samples != 0 {
fmt.Printf("Context reports FSAA is supported with %d samples\n", samples)
} else {
fmt.Printf("Context reports FSAA is unsupported\n")
}
gl.MatrixMode(gl.PROJECTION)
glu.Perspective(0, 1, 0, 1)
for glfw.WindowParam(glfw.Opened) == 1 {
time := float32(glfw.Time())
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.LoadIdentity()
gl.Translatef(0.5, 0, 0)
gl.Rotatef(time, 0, 0, 1)
gl.Enable(GL_MULTISAMPLE_ARB)
gl.Color3f(1, 1, 1)
gl.Rectf(-0.25, -0.25, 0.25, 0.25)
gl.LoadIdentity()
gl.Translatef(-0.5, 0, 0)
gl.Rotatef(time, 0, 0, 1)
gl.Disable(GL_MULTISAMPLE_ARB)
gl.Color3f(1, 1, 1)
gl.Rectf(-0.25, -0.25, 0.25, 0.25)
glfw.SwapBuffers()
}
}
开发者ID:hsalokor,项目名称:examples,代码行数:54,代码来源:main.go
示例13: onResize
// TODO Dynamically fetch size and render accordingly.
func onResize(w, h int) {
gl.Viewport(0, 0, w, h)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(w), float64(h), 0, -1, 1)
gl.ClearColor(0.255, 0.255, 0.255, 0)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
// log.Printf("resized: %dx%d\n", w, h)
}
开发者ID:nightlifelover,项目名称:GoMandelbrot,代码行数:12,代码来源:inputoutput.go
示例14: onResize
/*
下面的代码的作用是重新设置OpenGL场景的大小,而不管窗口的大小是否已经改变(假定您没有使用全屏模式)。
甚至您无法改变窗口的大小时(例如您在全屏模式下),它至少仍将运行一次--在程序开始时设置我们的透视图。
OpenGL场景的尺寸将被设置成它显示时所在窗口的大小。
*/
func onResize(w, h int) {
if h == 0 {
h = 1
}
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:bonly,项目名称:exercise,代码行数:17,代码来源:20110517_nehe06.go
示例15: 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:jayschwa,项目名称:examples,代码行数:13,代码来源:main.go
示例16: onResize
func onResize(w, h int) {
if h == 0 {
h = 1
}
gl.Viewport(0, 0, w, h)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Frustum(-1.0, 1.0, -1.0, 1.0, 1, 20)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:nzlov,项目名称:gogl,代码行数:12,代码来源:08.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()
glu.Perspective(45.0, float64(w)/float64(h), 0.1, 100.0) //设置视窗的大小
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
}
开发者ID:bonly,项目名称:exercise,代码行数:12,代码来源:20110518_nehe07.go
示例18: onResize
func onResize(w, h int) {
// Write to both buffers, prevent flickering
gl.DrawBuffer(gl.FRONT_AND_BACK)
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:jayschwa,项目名称:examples,代码行数:13,代码来源:main.go
示例19: Enter
func (wc WindowCoords) Enter() {
w, h := GetViewportWH()
Matrix{gl.PROJECTION}.Enter()
if !wc.NoReset {
gl.LoadIdentity()
}
if wc.Invert {
gl.Ortho(0, float64(w), float64(h), 0, -1, 1)
} else {
gl.Ortho(0, float64(w), 0, float64(h), -1, 1)
}
Matrix{gl.MODELVIEW}.Enter()
gl.LoadIdentity()
}
开发者ID:pwaller,项目名称:glh,代码行数:14,代码来源:context.go
示例20: Reshape
func Reshape(width, height int) {
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(-1, 1, -1, 1, -1, 1)
//gl.Ortho(-2.1, 6.1, -2.25*2, 2.1*2, -1, 1) // Y debug
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.ClearColor(0, 0, 0, 1)
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
}
开发者ID:pwaller,项目名称:go-gl-testutils,代码行数:14,代码来源:gltest.go
注:本文中的github.com/go-gl/gl.LoadIdentity函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论