本文整理汇总了Golang中github.com/go-gl/gl.Viewport函数的典型用法代码示例。如果您正苦于以下问题:Golang Viewport函数的具体用法?Golang Viewport怎么用?Golang Viewport使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Viewport函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: 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
示例2: render
func render() {
modelMatrix = trig.MatrixMult(trig.RotateY(math.Pi/360), modelMatrix)
gl.Viewport(0, 0, 768, 768)
gl.ClearColor(0.0, 0.0, 0, 0)
gl.Enable(gl.DEPTH_TEST)
raytraceProgram.Use()
mInput.UniformMatrix4f(false, (*[16]float32)(modelMatrix))
vInput.UniformMatrix4f(false, (*[16]float32)(viewMatrix))
pInput.UniformMatrix4f(false, (*[16]float32)(projMatrix))
glh.With(framebuffer, func() {
framebuffer.UpdateTextures()
gl.DrawBuffer(gl.COLOR_ATTACHMENT0)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.DepthFunc(gl.GREATER)
gl.CullFace(gl.BACK)
cube.Render(gl.TRIANGLES, raytraceProgram)
gl.DrawBuffer(gl.COLOR_ATTACHMENT1)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.DepthFunc(gl.LESS)
gl.CullFace(gl.FRONT)
cube.Render(gl.TRIANGLES, raytraceProgram)
})
}
开发者ID:spacetug,项目名称:raytracer,代码行数:28,代码来源:main.go
示例3: Reshape
func Reshape(w, h int) {
gl.Viewport(0, 0, w, h)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, 100, 0, 100, -1, 1)
gl.MatrixMode(gl.MODELVIEW)
}
开发者ID:rick-monster,项目名称:gopong,代码行数:7,代码来源:view.go
示例4: 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
示例5: ResizeViewport
func (v *Viewport) ResizeViewport(w, h int) {
v.w = w
v.h = h
v.buildTrans()
allegro.RunInThread(func() {
gl.Viewport(0, 0, w, h)
})
}
开发者ID:bluepeppers,项目名称:danckelmann,代码行数:8,代码来源:viewport.go
示例6: Bind
// Binds the framebuffer for drawing.
func (fb *Framebuffer) Bind() {
fb.Buffer.Bind()
gl.Viewport(0, 0, fb.Width, fb.Height)
gl.Enable(gl.TEXTURE_2D)
gl.Disable(gl.DEPTH_TEST)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Enable(gl.BLEND)
}
开发者ID:pikkpoiss,项目名称:ld27,代码行数:9,代码来源:framebuffer.go
示例7: Run
func (s *System) Run(ctx *scene.Context) {
s.init(ctx)
defer s.finish()
// TODO: take active camera node
w := float32(s.Width)
h := float32(s.Height)
projM := mathgl.Ortho(0, w, h, 0, -30, 30)
viewM := mathgl.Translate3D(0, 0, 0)
worldM := mathgl.Translate3D(0, 0, 0)
var rect struct {
WVP mathgl.Mat4f `uniform:"WorldViewProjectionM"`
Diffuse *gfx.Sampler2D `uniform:"Diffuse"`
geomobj gfx.Geometry
geom gfx.GeometryLayout
}
rect.WVP = projM.Mul4(viewM).Mul4(worldM)
s.cmds <- func() {
quadbuffer := geometry.NewBuilder(s.shader.VertexFormat())
quadbuffer.Clear()
quadbuffer.P(0, 0, 0).UV(-1, -1).Cf(1, 1, 1, 1)
quadbuffer.P(w/3, 0, 0).UV(-1, -1)
quadbuffer.P(w/3, h/3, 0).UV(-1, -1)
quadbuffer.P(0, h/3, 0).UV(-1, -1)
quadbuffer.Indices(0, 1, 2, 2, 0, 3)
rect.geomobj.Alloc(gfx.StaticDraw)
err := rect.geomobj.CopyFrom(quadbuffer)
if err != nil {
panic(err)
}
s.shader.Use()
rect.geom.Layout(&s.shader, &rect.geomobj)
/*
err = rect.geomobj.CopyFrom(quadbuffer)
if err != nil {
panic(err)
}
*/
whiteImg := image.NewNRGBA(image.Rect(0, 0, 1, 1))
whiteImg.Set(0, 0, color.White)
white, err := gfx.Image(whiteImg)
if err != nil {
panic(err)
}
rect.Diffuse = white
}
for ctx.Step() {
s.cmds <- func() {
gl.Viewport(0, 0, s.Width, s.Height)
gl.ClearColor(0, 0, 0, 1.0)
gl.ClearDepth(1)
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
}
s.meshes.update(s.cmds, &s.shader)
s.draw()
s.sync()
}
}
开发者ID:james4k,项目名称:exp,代码行数:58,代码来源:system.go
示例8: 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
示例9: 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
示例10: 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:himanshushekhar,项目名称:glut,代码行数:9,代码来源:fontdemo.go
示例11: 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
示例12: copiedInit
func copiedInit() {
gl.ClearColor(0, 0, 0, 0)
gl.ShadeModel(gl.FLAT)
gl.Enable(gl.CULL_FACE)
gl.Viewport(320, 240, 640, 480)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Frustum(-1, 1, -1, 1, 1.5, 20)
gl.MatrixMode(gl.MODELVIEW)
}
开发者ID:srm88,项目名称:blocks,代码行数:10,代码来源:main.go
示例13: onResize
// onResize handles window resize events.
func onResize(window *glfw.Window, w, h int) {
if w < 1 {
w = 1
}
if h < 1 {
h = 1
}
gl.Viewport(0, 0, w, h)
}
开发者ID:spacetug,项目名称:raytracer,代码行数:12,代码来源:main.go
示例14: 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
示例15: 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
示例16: 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
示例17: 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
示例18: 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
示例19: 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
示例20: 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
注:本文中的github.com/go-gl/gl.Viewport函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论