本文整理汇总了Golang中gl.GLfloat函数的典型用法代码示例。如果您正苦于以下问题:Golang GLfloat函数的具体用法?Golang GLfloat怎么用?Golang GLfloat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GLfloat函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: drawShip
func drawShip(angle gl.GLfloat) {
gl.PushMatrix()
gl.Translatef(x, y, 0.0)
gl.Rotatef(angle, 0.0, 0.0, 1.0)
if thrust {
gl.Color3f(1.0, 0.0, 0.0)
gl.Begin(gl.LINE_STRIP)
gl.Vertex2f(-0.75, -0.5)
gl.Vertex2f(-1.75, 0)
gl.Vertex2f(-0.75, 0.5)
gl.End()
}
gl.Color3f(1.0, 1.0, 0.0)
gl.Begin(gl.LINE_LOOP)
gl.Vertex2f(2.0, 0.0)
gl.Vertex2f(-1.0, -1.0)
gl.Vertex2f(-0.5, 0.0)
gl.Vertex2f(-1.0, 1.0)
gl.Vertex2f(2.0, 0.0)
gl.End()
if shield {
gl.Color3f(0.1, 0.1, 1.0)
gl.Begin(gl.LINE_LOOP)
for rad := 0.0; rad < 12.0; rad += 1.0 {
gl.Vertex2f(
gl.GLfloat(2.3*math.Cos(2*float64(rad)/math.Pi)+0.2),
gl.GLfloat(2.0*math.Sin(2*float64(rad)/math.Pi)))
}
gl.End()
}
gl.PopMatrix()
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:32,代码来源:asteroids.go
示例2: 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, width, 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:shogg,项目名称:opengl-go-tutorials,代码行数:35,代码来源:lesson06.go
示例3: GetColor
func GetColor(cell int) (red, green, blue gl.GLfloat) {
ccell := C.int(cell)
red = gl.GLfloat(C.glutGetColor(ccell, RED))
green = gl.GLfloat(C.glutGetColor(ccell, GREEN))
blue = gl.GLfloat(C.glutGetColor(ccell, BLUE))
return
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:9,代码来源:glut.go
示例4: initBullet
func initBullet(i, time int) {
c := gl.GLfloat(math.Cos(float64(angle) * math.Pi / 180.0))
s := gl.GLfloat(math.Sin(float64(angle) * math.Pi / 180.0))
bullet[i].inuse = true
bullet[i].x = x + 2*c
bullet[i].y = y + 2*s
bullet[i].v = 0.025
bullet[i].xv = xv + c*bullet[i].v
bullet[i].yv = yv + s*bullet[i].v
bullet[i].expire = time + 1000
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:12,代码来源:asteroids.go
示例5: initStars
func initStars() {
// Create the first stars
for loop, _ := range stars {
stars[loop] = &Star{
angle: 0.0,
dist: (gl.GLfloat(loop) / gl.GLfloat(num)) * 5.0,
r: gl.GLubyte(rand.Float32() * 255),
g: gl.GLubyte(rand.Float32() * 255),
b: gl.GLubyte(rand.Float32() * 255),
}
}
}
开发者ID:PragmaticCypher,项目名称:opengl-go-tutorials,代码行数:12,代码来源:lesson09.go
示例6: advanceBullets
func advanceBullets(delta, time int) {
for i := 0; i < MAX_BULLETS; i++ {
if bullet[i].inuse {
if time > bullet[i].expire {
bullet[i].inuse = false
continue
}
x := bullet[i].x + bullet[i].xv*gl.GLfloat(delta)
y := bullet[i].y + bullet[i].yv*gl.GLfloat(delta)
x = x / 40.0
bullet[i].x = (x - gl.GLfloat(math.Floor(float64(x)))) * 40.0
y = y / 40.0
bullet[i].y = (y - gl.GLfloat(math.Floor(float64(x)))) * 40.0
}
}
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:16,代码来源:asteroids.go
示例7: atof
func atof(s []byte) gl.GLfloat {
f, err := strconv.ParseFloat(string(s), 32)
if err != nil {
panic(err)
}
return gl.GLfloat(f)
}
开发者ID:shogg,项目名称:opengl-go-tutorials,代码行数:7,代码来源:lesson10.go
示例8: atof
func atof(s []byte) gl.GLfloat {
f, err := strconv.Atof32(string(s))
if err != nil {
panic(err)
}
return gl.GLfloat(f)
}
开发者ID:PragmaticCypher,项目名称:opengl-go-tutorials,代码行数:7,代码来源:lesson10.go
示例9: drawGLScene
// Here goes our drawing code
func drawGLScene(sector Sector) {
xtrans := gl.GLfloat(-xpos)
ztrans := gl.GLfloat(-zpos)
ytrans := gl.GLfloat(-walkbias - 0.25)
scenroty := gl.GLfloat(360.0 - yrot)
// Clear the screen and depth buffer
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
// reset the view
gl.LoadIdentity()
// Rotate up and down to look up and down
gl.Rotatef(float32(lookupdown), 1.0, 0.0, 0.0)
// Rotate depending on direction player is facing
gl.Rotatef(float32(scenroty), 0.0, 1.0, 0.0)
// translate the scene based on player position
gl.Translatef(float32(xtrans), float32(ytrans), float32(ztrans))
gl.BindTexture(gl.TEXTURE_2D, uint(textures[filter]))
for _, vertices := range sector {
gl.Begin(gl.TRIANGLES)
for _, triangle := range *vertices {
gl.Normal3f(0.0, 0.0, 1.0)
gl.TexCoord2f(float32(triangle.u), float32(triangle.v))
gl.Vertex3f(float32(triangle.x), float32(triangle.y), float32(triangle.z))
}
gl.End()
}
// Draw to the screen
sdl.GL_SwapBuffers()
// Gather our frames per second
frames++
t := sdl.GetTicks()
if t-t0 >= 5000 {
seconds := (t - t0) / 1000.0
fps := frames / seconds
fmt.Println(frames, "frames in", seconds, "seconds =", fps, "FPS")
t0 = t
frames = 0
}
}
开发者ID:PragmaticCypher,项目名称:opengl-go-tutorials,代码行数:46,代码来源:lesson10.go
示例10: reshape
func reshape(w, h int) {
gl.Viewport(0, 0, gl.GLsizei(w), gl.GLsizei(h))
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, gl.GLdouble(w), 0, gl.GLdouble(h), -1, 1)
gl.Scalef(1, -1, 1)
gl.Translatef(0, gl.GLfloat(-h), 0)
gl.MatrixMode(gl.MODELVIEW)
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:9,代码来源:fontdemo.go
示例11: drawMass
func drawMass(m *phys.Mass, dsz gl.GLfloat) {
gl.LoadIdentity()
// gl.Translatef( -1.5, 0.0, -6.0 )
v := m.Pos
gl.Translatef(gl.GLfloat(v.X), gl.GLfloat(v.Y), gl.GLfloat(v.Z))
/* Rotate The Triangle On The Y axis ( NEW ) */
// gl.Rotatef( rtri, 0.0, 1.0, 0.0 );
gl.Begin(gl.TRIANGLES) /* Drawing Using Triangles */
gl.Color3f(dsz, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, dsz, 0.0) /* Top Of Triangle (Front) */
gl.Color3f(0.0, dsz, 0.0) /* Green */
gl.Vertex3f(-dsz, -dsz, dsz) /* Left Of Triangle (Front) */
gl.Color3f(0.0, 0.0, dsz) /* Blue */
gl.Vertex3f(dsz, -dsz, dsz) /* Right Of Triangle (Front) */
gl.Color3f(dsz, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, dsz, 0.0) /* Top Of Triangle (Right) */
gl.Color3f(0.0, 0.0, dsz) /* Blue */
gl.Vertex3f(dsz, -dsz, dsz) /* Left Of Triangle (Right) */
gl.Color3f(0.0, dsz, 0.0) /* Green */
gl.Vertex3f(dsz, -dsz, -dsz) /* Right Of Triangle (Right) */
gl.Color3f(dsz, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, dsz, 0.0) /* Top Of Triangle (Back) */
gl.Color3f(0.0, dsz, 0.0) /* Green */
gl.Vertex3f(dsz, -dsz, -dsz) /* Left Of Triangle (Back) */
gl.Color3f(0.0, 0.0, dsz) /* Blue */
gl.Vertex3f(-dsz, -dsz, -dsz) /* Right Of Triangle (Back) */
gl.Color3f(dsz, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, dsz, 0.0) /* Top Of Triangle (Left) */
gl.Color3f(0.0, 0.0, dsz) /* Blue */
gl.Vertex3f(-dsz, -dsz, -dsz) /* Left Of Triangle (Left) */
gl.Color3f(0.0, dsz, 0.0) /* Green */
gl.Vertex3f(-dsz, -dsz, dsz) /* Right Of Triangle (Left) */
gl.End() /* Finished Drawing The Triangle */
}
开发者ID:jcd,项目名称:go-gamelib,代码行数:42,代码来源:draw.go
示例12: drawCube
func drawCube(v *Vector3) {
gl.LoadIdentity()
// gl.Translatef( -1.5, 0.0, -6.0 )
gl.Translatef(gl.GLfloat(v.X), gl.GLfloat(v.Y), gl.GLfloat(v.Z))
/* Rotate The Triangle On The Y axis ( NEW ) */
// gl.Rotatef( rtri, 0.0, 1.0, 0.0 );
gl.Begin(gl.TRIANGLES) /* Drawing Using Triangles */
gl.Color3f(1.0, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, 1.0, 0.0) /* Top Of Triangle (Front) */
gl.Color3f(0.0, 1.0, 0.0) /* Green */
gl.Vertex3f(-1.0, -1.0, 1.0) /* Left Of Triangle (Front) */
gl.Color3f(0.0, 0.0, 1.0) /* Blue */
gl.Vertex3f(1.0, -1.0, 1.0) /* Right Of Triangle (Front) */
gl.Color3f(1.0, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, 1.0, 0.0) /* Top Of Triangle (Right) */
gl.Color3f(0.0, 0.0, 1.0) /* Blue */
gl.Vertex3f(1.0, -1.0, 1.0) /* Left Of Triangle (Right) */
gl.Color3f(0.0, 1.0, 0.0) /* Green */
gl.Vertex3f(1.0, -1.0, -1.0) /* Right Of Triangle (Right) */
gl.Color3f(1.0, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, 1.0, 0.0) /* Top Of Triangle (Back) */
gl.Color3f(0.0, 1.0, 0.0) /* Green */
gl.Vertex3f(1.0, -1.0, -1.0) /* Left Of Triangle (Back) */
gl.Color3f(0.0, 0.0, 1.0) /* Blue */
gl.Vertex3f(-1.0, -1.0, -1.0) /* Right Of Triangle (Back) */
gl.Color3f(1.0, 0.0, 0.0) /* Red */
gl.Vertex3f(0.0, 1.0, 0.0) /* Top Of Triangle (Left) */
gl.Color3f(0.0, 0.0, 1.0) /* Blue */
gl.Vertex3f(-1.0, -1.0, -1.0) /* Left Of Triangle (Left) */
gl.Color3f(0.0, 1.0, 0.0) /* Green */
gl.Vertex3f(-1.0, -1.0, 1.0) /* Right Of Triangle (Left) */
gl.End() /* Finished Drawing The Triangle */
rtri = rtri + 0.2
}
开发者ID:jcd,项目名称:go-gamelib,代码行数:42,代码来源:draw.go
示例13: DrawText2D
func (f *Font) DrawText2D(x int, y int, color [3]byte, scale float, txt string) (endw int, endh int) {
gl.LoadIdentity()
// gl.Translatef(0.0, 0.0, -2.0);
glEnable2D()
gl.Disable(gl.DEPTH_TEST)
texture, initial, intermediarya, intermediary, w, h := f.setupTextRendering(color, txt)
locX := gl.GLfloat(x)
locY := gl.GLfloat(y)
wi := gl.GLfloat(w) * gl.GLfloat(scale)
he := gl.GLfloat(h) * gl.GLfloat(scale)
/* Draw a quad at location */
gl.Begin(gl.QUADS)
/* Recall that the origin is in the lower-left corner
That is why the TexCoords specify different corners
than the Vertex coors seem to. */
gl.TexCoord2f(0.0, 1.0)
gl.Vertex2f(locX, locY)
gl.TexCoord2f(1.0, 1.0)
gl.Vertex2f(locX+wi, locY)
gl.TexCoord2f(1.0, 0.0)
gl.Vertex2f(locX+wi, locY+he)
gl.TexCoord2f(0.0, 0.0)
gl.Vertex2f(locX, locY+he)
gl.End()
endw, endh = f.teardownTextRendering(texture, initial, intermediarya, intermediary)
gl.Enable(gl.DEPTH_TEST)
glDisable2D()
return
}
开发者ID:jcd,项目名称:go-gamelib,代码行数:35,代码来源:draw_font.go
示例14: DrawText3D
func (f *Font) DrawText3D(pos Vector3, color [3]byte, scale float, txt string) (endw int, endh int) {
gl.LoadIdentity()
// gl.Translatef(gl.GLfloat(pos.X), gl.GLfloat(pos.Y), gl.GLfloat(-4.99));
gl.Translatef(gl.GLfloat(pos.X), gl.GLfloat(pos.Y), gl.GLfloat(-4.99))
gl.Scalef(gl.GLfloat(1.0/64.0*scale), gl.GLfloat(1.0/64.0*scale), gl.GLfloat(1.0))
gl.Disable(gl.DEPTH_TEST)
texture, initial, intermediarya, intermediary, w, h := f.setupTextRendering(color, txt)
wi := gl.GLfloat(w)
he := gl.GLfloat(h)
locX := gl.GLfloat(0) - wi*0.5
locY := gl.GLfloat(0) - he*0.5
/* Draw a quad at location */
gl.Begin(gl.QUADS)
/* Recall that the origin is in the lower-left corner
That is why the TexCoords specify different corners
than the Vertex coors seem to. */
gl.Color4f(1.0, 1.0, 0.0, 1.0)
gl.TexCoord2f(0.0, 1.0)
gl.Vertex3f(locX, locY, 0.0)
gl.TexCoord2f(1.0, 1.0)
gl.Vertex3f(locX+wi, locY, 0.0)
gl.TexCoord2f(1.0, 0.0)
gl.Vertex3f(locX+wi, locY+he, 0.0)
gl.TexCoord2f(0.0, 0.0)
gl.Vertex3f(locX, locY+he, 0.0)
gl.End()
endw, endh = f.teardownTextRendering(texture, initial, intermediarya, intermediary)
gl.Enable(gl.DEPTH_TEST)
return
}
开发者ID:jcd,项目名称:go-gamelib,代码行数:38,代码来源:draw_font.go
示例15: reshape
func reshape(w, h int) {
/* Because Gil specified "screen coordinates" (presumably with an
upper-left origin), this short bit of code sets up the coordinate
system to correspond to actual window coodrinates. This code
wouldn't be required if you chose a (more typical in 3D) abstract
coordinate system. */
gl.Viewport(0, 0, gl.GLsizei(w), gl.GLsizei(h)) /* Establish viewing area to cover entire window. */
gl.MatrixMode(gl.PROJECTION) /* Start modifying the projection matrix. */
gl.LoadIdentity() /* Reset project matrix. */
gl.Ortho(0, gl.GLdouble(w), 0, gl.GLdouble(h), -1, 1) /* Map abstract coords directly to window coords. */
gl.Scalef(1, -1, 1) /* Invert Y axis so increasing Y goes down. */
gl.Translatef(0, gl.GLfloat(-h), 0) /* Shift origin up to upper-left corner. */
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:14,代码来源:simple.go
示例16: drawQuad
func drawQuad(x, y, w, h int, u, v, u2, v2 float) {
gl.Begin(gl.QUADS)
gl.TexCoord2f(gl.GLfloat(u), gl.GLfloat(v))
gl.Vertex2i(gl.GLint(x), gl.GLint(y))
gl.TexCoord2f(gl.GLfloat(u2), gl.GLfloat(v))
gl.Vertex2i(gl.GLint(x+w), gl.GLint(y))
gl.TexCoord2f(gl.GLfloat(u2), gl.GLfloat(v2))
gl.Vertex2i(gl.GLint(x+w), gl.GLint(y+h))
gl.TexCoord2f(gl.GLfloat(u), gl.GLfloat(v2))
gl.Vertex2i(gl.GLint(x), gl.GLint(y+h))
gl.End()
}
开发者ID:krakensden,项目名称:Go-OpenGL,代码行数:17,代码来源:gomandel.go
示例17: drawCircle
func drawCircle(t *trigger) {
radius := float64(t.Size)
pos := t.Pos
gl.LoadIdentity()
gl.Color4f(gl.GLfloat(t.Col[0]), gl.GLfloat(t.Col[1]), gl.GLfloat(t.Col[2]), gl.GLfloat(t.Col[3]))
gl.LineWidth(2.0)
gl.Translatef(gl.GLfloat(pos.X), gl.GLfloat(pos.Y), gl.GLfloat(pos.Z))
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Begin(gl.POLYGON)
for i := 0; i < 360; i++ {
var degInRad float64 = float64(i) * DEG2RAD
gl.Vertex3f(gl.GLfloat(math.Cos(degInRad)*radius), gl.GLfloat(math.Sin(degInRad)*radius), gl.GLfloat(0.0))
}
gl.End()
gl.Disable(gl.BLEND)
}
开发者ID:jcd,项目名称:go-gamelib,代码行数:24,代码来源:chain-reaction.go
示例18: drawFrame
func drawFrame() {
gl.LoadIdentity()
gl.LineWidth(5.0)
gl.Enable(gl.POINT_SMOOTH)
gl.Enable(gl.LINE_SMOOTH)
gl.Color4f(gl.GLfloat(FrameColor[0]), gl.GLfloat(FrameColor[1]), gl.GLfloat(FrameColor[2]), 0.1)
m := PlayArea
t := 1.0 * m
b := -1.0 * m
r := 1.0 * m
l := -1.0 * m
gl.Begin(gl.LINE_STRIP)
zo := -5.0
gl.Vertex3f(gl.GLfloat(l), gl.GLfloat(t), gl.GLfloat(zo))
gl.Vertex3f(gl.GLfloat(r), gl.GLfloat(t), gl.GLfloat(zo))
gl.Vertex3f(gl.GLfloat(r), gl.GLfloat(b), gl.GLfloat(zo))
gl.Vertex3f(gl.GLfloat(l), gl.GLfloat(b), gl.GLfloat(zo))
gl.Vertex3f(gl.GLfloat(l), gl.GLfloat(t), gl.GLfloat(zo))
gl.End()
}
开发者ID:jcd,项目名称:go-gamelib,代码行数:29,代码来源:chain-reaction.go
示例19: drawGLScene
// Here goes our drawing code
func drawGLScene() {
// Clear the screen and depth buffer
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
gl.BindTexture(gl.TEXTURE_2D, uint(texture))
for loop, star := range stars {
gl.LoadIdentity()
gl.Translatef(0.0, 0.0, float32(zoom))
gl.Rotatef(float32(tilt), 1.0, 0.0, 0.0)
gl.Rotatef(float32(star.angle), 0.0, 1.0, 0.0)
gl.Translatef(float32(star.dist), 0.0, 0.0)
gl.Rotatef(float32(-star.angle), 0.0, 1.0, 0.0)
gl.Rotatef(float32(-tilt), 1.0, 0.0, 0.0)
if twinkle {
other := stars[(num-loop)-1]
gl.Color4ub(uint8(other.r), uint8(other.g), uint8(other.b), 255)
gl.Begin(gl.QUADS)
gl.TexCoord2f(0.0, 0.0)
gl.Vertex3f(-1.0, -1.0, 0.0)
gl.TexCoord2f(1.0, 0.0)
gl.Vertex3f(1.0, -1.0, 0.0)
gl.TexCoord2f(1.0, 1.0)
gl.Vertex3f(1.0, 1.0, 0.0)
gl.TexCoord2f(0.0, 1.0)
gl.Vertex3f(-1.0, 1.0, 0.0)
gl.End()
}
gl.Rotatef(float32(spin), 0.0, 0.0, 1.0)
gl.Color4ub(uint8(star.r), uint8(star.g), uint8(star.b), 255)
gl.Begin(gl.QUADS)
gl.TexCoord2f(0.0, 0.0)
gl.Vertex3f(-1.0, -1.0, 0.0)
gl.TexCoord2f(1.0, 0.0)
gl.Vertex3f(1.0, -1.0, 0.0)
gl.TexCoord2f(1.0, 1.0)
gl.Vertex3f(1.0, 1.0, 0.0)
gl.TexCoord2f(0.0, 1.0)
gl.Vertex3f(-1.0, 1.0, 0.0)
gl.End()
spin += 0.01
star.angle += gl.GLfloat(loop) / gl.GLfloat(num)
star.dist -= 0.01
if star.dist < 0.0 {
star.dist += 5.0
star.r = gl.GLubyte(rand.Float32() * 255)
star.g = gl.GLubyte(rand.Float32() * 255)
star.b = gl.GLubyte(rand.Float32() * 255)
}
}
// Draw to the screen
sdl.GL_SwapBuffers()
// Gather our frames per second
frames++
t := sdl.GetTicks()
if t-t0 >= 5000 {
seconds := (t - t0) / 1000.0
fps := frames / seconds
fmt.Println(frames, "frames in", seconds, "seconds =", fps, "FPS")
t0 = t
frames = 0
}
}
开发者ID:PragmaticCypher,项目名称:opengl-go-tutorials,代码行数:69,代码来源:lesson09.go
示例20: idle
func idle() {
var delta int
time := glut.Get(glut.ELAPSED_TIME)
if resuming {
lastTime = time
resuming = false
}
if left {
delta = time - leftTime
angle = angle + gl.GLfloat(delta)*gl.GLfloat(0.4)
leftTime = time
}
if right {
delta = time - rightTime
angle = angle - gl.GLfloat(delta)*gl.GLfloat(0.4)
rightTime = time
}
if thrust {
delta = time - thrustTime
v = gl.GLfloat(delta) * 0.00004
xv = xv + gl.GLfloat(math.Cos(float64(angle)*math.Pi/180.0))*v
yv = yv + gl.GLfloat(math.Sin(float64(angle)*math.Pi/180.0))*v
thrustTime = time
}
delta = time - lastTime
x = x + xv*gl.GLfloat(delta)
y = y + yv*gl.GLfloat(delta)
x = x / 40.0
x = (x - gl.GLfloat(math.Floor(float64(x)))) * 40.0
y = y / 40.0
y = (y - gl.GLfloat(math.Floor(float64(y)))) * 40.0
lastTime = time
advanceBullets(delta, time)
currentWindow.PostRedisplay()
}
开发者ID:brownman,项目名称:Go-GLUT,代码行数:36,代码来源:asteroids.go
注:本文中的gl.GLfloat函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论