本文整理汇总了Golang中github.com/chsc/gogl/gl21.Color4ub函数的典型用法代码示例。如果您正苦于以下问题:Golang Color4ub函数的具体用法?Golang Color4ub怎么用?Golang Color4ub使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Color4ub函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Draw
func (cpap *controlPointAttackProcess) Draw(id Gid, g *Game, side int) {
base.EnableShader("circle")
base.SetUniformF("circle", "edge", 0.9)
// For people on the controlling side this will draw a circle around the area
// that is being targeted by the control point.
if cpap.Side == side && cpap.Timer >= cpap.LockTime {
gl.Color4ub(200, 200, 200, 80)
texture.Render(
cpap.LockPos.X-50,
cpap.LockPos.Y-50,
2*50,
2*50)
}
// This draws the projectile itself.
if cpap.Timer >= cpap.FireTime {
gl.Color4ub(255, 50, 50, 240)
texture.Render(
cpap.ProjPos.X-5,
cpap.ProjPos.Y-5,
2*5,
2*5)
}
base.EnableShader("")
}
开发者ID:runningwild,项目名称:magnus,代码行数:26,代码来源:moba_tower.go
示例2: Draw
// TODO: This function really needs to take not just the side, but the player
// that this is being drawn for.
func (p *placeMineCastProcess) Draw(gid game.Gid, g *game.Game, side int) {
player, _ := g.Ents[p.PlayerGid].(*game.PlayerEnt)
if player == nil {
return
}
if side != player.Side() {
return
}
ready := int(p.Stored[game.ColorBlue] / p.Cost)
base.EnableShader("status_bar")
if ready == 0 {
gl.Color4ub(255, 0, 0, 255)
} else {
gl.Color4ub(0, 255, 0, 255)
}
var outer float32 = 0.2
var increase float32 = 0.01
frac := p.Stored[game.ColorBlue] / p.Cost
base.SetUniformF("status_bar", "frac", float32(frac-float64(ready)))
base.SetUniformF("status_bar", "inner", outer-increase*float32(ready+1))
base.SetUniformF("status_bar", "outer", outer)
base.SetUniformF("status_bar", "buffer", 0.01)
texture.Render(player.Pos().X-100, player.Pos().Y-100, 200, 200)
if ready > 0 {
base.SetUniformF("status_bar", "frac", 1.0)
base.SetUniformF("status_bar", "inner", outer-float32(ready)*increase)
base.SetUniformF("status_bar", "outer", outer)
texture.Render(player.Pos().X-100, player.Pos().Y-100, 200, 200)
}
base.EnableShader("")
}
开发者ID:runningwild,项目名称:magnus,代码行数:33,代码来源:place_mine.go
示例3: Draw
func (p *multiDrain) Draw(src, obs game.Gid, game *game.Game) {
if src != obs {
return
}
ent := game.Ents[src]
if ent == nil {
return
}
base.EnableShader("status_bar")
frac := p.Stored
ready := math.Floor(frac)
if ready == 0 {
gl.Color4ub(255, 0, 0, 255)
} else {
gl.Color4ub(0, 255, 0, 255)
}
outer := 0.2
increase := 0.01
base.SetUniformF("status_bar", "frac", float32(frac-ready))
base.SetUniformF("status_bar", "inner", float32(outer-increase*(ready+1)))
base.SetUniformF("status_bar", "outer", float32(outer))
base.SetUniformF("status_bar", "buffer", 0.01)
texture.Render(ent.Pos().X-100, ent.Pos().Y-100, 200, 200)
if ready > 0 {
base.SetUniformF("status_bar", "frac", 1.0)
base.SetUniformF("status_bar", "inner", float32(outer-ready*increase))
base.SetUniformF("status_bar", "outer", float32(outer))
texture.Render(ent.Pos().X-100, ent.Pos().Y-100, 200, 200)
}
base.EnableShader("")
}
开发者ID:runningwild,项目名称:jota,代码行数:31,代码来源:ability_graphics.go
示例4: setColorForIndex
func setColorForIndex(index int) {
switch index {
case 0:
gl.Color4ub(255, 0, 0, 200)
case 1:
gl.Color4ub(0, 255, 0, 200)
case 2:
gl.Color4ub(0, 0, 255, 200)
default:
gl.Color4ub(255, 0, 255, 200)
}
}
开发者ID:runningwild,项目名称:jbot,代码行数:12,代码来源:main.go
示例5: Draw
func (fe fireExplosion) Draw(test bool) {
base.EnableShader("circle")
base.SetUniformF("circle", "edge", 0.7)
if test {
gl.Color4ub(200, 200, 200, gl.Ubyte(150*fe.Alpha()))
} else {
gl.Color4ub(255, 50, 10, gl.Ubyte(150*fe.Alpha()))
}
texture.Render(
fe.Pos.X-fe.Size(),
fe.Pos.Y-fe.Size(),
2*fe.Size(),
2*fe.Size())
base.EnableShader("")
}
开发者ID:runningwild,项目名称:magnus,代码行数:15,代码来源:fire.go
示例6: Draw
func (p *PlayerEnt) Draw(game *Game) {
var t *texture.Data
var alpha gl.Ubyte
if game.local.Side == p.Side() {
alpha = gl.Ubyte(255.0 * (1.0 - p.Stats().Cloaking()/2))
} else {
alpha = gl.Ubyte(255.0 * (1.0 - p.Stats().Cloaking()))
}
gl.Color4ub(255, 255, 255, alpha)
// if p.Id() == 1 {
t = texture.LoadFromPath(filepath.Join(base.GetDataDir(), "ships/ship.png"))
// } else if p.Id() == 2 {
// t = texture.LoadFromPath(filepath.Join(base.GetDataDir(), "ships/ship3.png"))
// } else {
// t = texture.LoadFromPath(filepath.Join(base.GetDataDir(), "ships/ship2.png"))
// }
t.RenderAdvanced(
p.Position.X-float64(t.Dx())/2,
p.Position.Y-float64(t.Dy())/2,
float64(t.Dx()),
float64(t.Dy()),
p.Angle_,
false)
for _, proc := range p.Processes {
proc.Draw(p.Id(), game.local.Gid, game)
}
base.EnableShader("status_bar")
base.SetUniformF("status_bar", "inner", 0.08)
base.SetUniformF("status_bar", "outer", 0.09)
base.SetUniformF("status_bar", "buffer", 0.01)
base.SetUniformF("status_bar", "frac", 1.0)
gl.Color4ub(125, 125, 125, alpha/2)
texture.Render(p.Position.X-100, p.Position.Y-100, 200, 200)
health_frac := float32(p.Stats().HealthCur() / p.Stats().HealthMax())
if health_frac > 0.5 {
color_frac := 1.0 - (health_frac-0.5)*2.0
gl.Color4ub(gl.Ubyte(255.0*color_frac), 255, 0, alpha)
} else {
color_frac := health_frac * 2.0
gl.Color4ub(255, gl.Ubyte(255.0*color_frac), 0, alpha)
}
base.SetUniformF("status_bar", "frac", health_frac)
texture.Render(p.Position.X-100, p.Position.Y-100, 200, 200)
base.EnableShader("")
}
开发者ID:runningwild,项目名称:jota,代码行数:48,代码来源:game_graphics.go
示例7: Draw
func (tsm *ThunderSubMenu) Draw(region Region, style StyleStack) {
gl.Disable(gl.TEXTURE_2D)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Enable(gl.BLEND)
base.EnableShader("marble")
offset, ok := style.Get("offset").(linear.Vec2)
if ok {
base.SetUniformV2("marble", "offset", offset)
} else {
base.SetUniformV2("marble", "offset", linear.Vec2{})
}
gl.Color4ub(255, 255, 255, 255)
gl.Begin(gl.QUADS)
x := gl.Int(region.X)
y := gl.Int(region.Y)
dx := gl.Int(region.Dx)
dy := gl.Int(region.Dy)
gl.Vertex2i(x, y)
gl.Vertex2i(x, y+dy)
gl.Vertex2i(x+dx, y+dy)
gl.Vertex2i(x+dx, y)
gl.End()
base.EnableShader("")
for i, option := range tsm.Options {
region.Dy = tsm.requests[option].Dy
if i == tsm.selected {
style.PushStyle(map[string]interface{}{"selected": true})
} else {
style.PushStyle(map[string]interface{}{"selected": false})
}
option.Draw(region, style)
style.Pop()
region.Y += tsm.requests[option].Dy
}
}
开发者ID:runningwild,项目名称:magnus,代码行数:35,代码来源:thunder_menu.go
示例8: Draw
func (gw *GameWindow) Draw(region gui.Region, style gui.StyleStack) {
defer base.StackCatcher()
defer func() {
// gl.Translated(gl.Double(gw.region.X), gl.Double(gw.region.Y), 0)
gl.Disable(gl.TEXTURE_2D)
gl.Color4ub(255, 255, 255, 255)
gl.LineWidth(3)
gl.Begin(gl.LINES)
bx, by := gl.Int(region.X), gl.Int(region.Y)
bdx, bdy := gl.Int(region.Dx), gl.Int(region.Dy)
gl.Vertex2i(bx, by)
gl.Vertex2i(bx, by+bdy)
gl.Vertex2i(bx, by+bdy)
gl.Vertex2i(bx+bdx, by+bdy)
gl.Vertex2i(bx+bdx, by+bdy)
gl.Vertex2i(bx+bdx, by)
gl.Vertex2i(bx+bdx, by)
gl.Vertex2i(bx, by)
gl.End()
gl.LineWidth(1)
}()
gw.Engine.Pause()
game := gw.Engine.GetState().(*Game)
game.RenderLocal(region, gw.Local)
gw.Engine.Unpause()
}
开发者ID:runningwild,项目名称:magnus,代码行数:27,代码来源:game.go
示例9: drawScene
func drawScene() {
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Rotated(-90, 1, 0, 0)
//gl.Rotated(90, 0, 0, 1)
gl.Rotated(gl.Double(-viewAngles[2]), 1, 0, 0)
gl.Rotated(gl.Double(-viewAngles[0]), 0, 1, 0)
gl.Rotated(gl.Double(-viewAngles[1]), 0, 0, 1)
gl.Translated(gl.Double(viewOrg[0]), gl.Double(viewOrg[1]), gl.Double(viewOrg[2]))
var r, g, b gl.Ubyte
for i, face := range model.Faces {
r = gl.Ubyte(i) + 100
g = gl.Ubyte(i>>1) + 100
b = gl.Ubyte(i>>2) + 100
if model.Triangle {
gl.Begin(gl.TRIANGLES)
} else {
gl.Begin(gl.LINES)
}
gl.Color4ub(r, g, b, 0xff)
for _, v := range face.Verts {
gl.Vertex3d(gl.Double(v.Pos[0]), gl.Double(v.Pos[1]), gl.Double(v.Pos[2]))
}
gl.End()
}
}
开发者ID:jayschwa,项目名称:groke,代码行数:33,代码来源:bspview.go
示例10: RenderOnFloor
func (wp *waypoint) RenderOnFloor() {
if !wp.active {
return
}
wp.drawn = true
gl.Color4ub(200, 0, 0, 128)
base.EnableShader("waypoint")
base.SetUniformF("waypoint", "radius", float32(wp.Radius))
t := float32(time.Now().UnixNano()%1e15) / 1.0e9
base.SetUniformF("waypoint", "time", t)
gl.Begin(gl.QUADS)
gl.TexCoord2i(0, 1)
gl.Vertex2i(int32(wp.X-wp.Radius), int32(wp.Y-wp.Radius))
gl.TexCoord2i(0, 0)
gl.Vertex2i(int32(wp.X-wp.Radius), int32(wp.Y+wp.Radius))
gl.TexCoord2i(1, 0)
gl.Vertex2i(int32(wp.X+wp.Radius), int32(wp.Y+wp.Radius))
gl.TexCoord2i(1, 1)
gl.Vertex2i(int32(wp.X+wp.Radius), int32(wp.Y-wp.Radius))
gl.End()
base.EnableShader("")
// base.EnableShader("")
}
开发者ID:FlyingCar,项目名称:haunts,代码行数:26,代码来源:los.go
示例11: DrawInfo
func (ob *OptionBasic) DrawInfo(x, y, dx, dy int) {
gl.Color4ub(255, 255, 255, 255)
tx := x + (dx-ob.Large.Data().Dx())/2
ty := y + dy - ob.Large.Data().Dy()
ob.Large.Data().RenderNatural(tx, ty)
d := base.GetDictionary(ob.Size)
d.RenderParagraph(ob.Text, float64(x), float64(y+dy-ob.Large.Data().Dy())-d.MaxHeight(), 0, float64(dx), d.MaxHeight(), gui.Left, gui.Top)
}
开发者ID:ThalwegIII,项目名称:haunts,代码行数:8,代码来源:ui_chooser.go
示例12: Draw
func (p *PosWidget) Draw(region Region, style StyleStack) {
gl.Disable(gl.TEXTURE_2D)
gl.Color4ub(0, 255, 0, 255)
gl.Begin(gl.QUADS)
x := gl.Int(region.X)
y := gl.Int(region.Y)
dx := gl.Int(base.GetDictionary("luxisr").StringWidth(p.text, float64(p.Size)))
dy := gl.Int(p.Size)
gl.Vertex2i(x, y)
gl.Vertex2i(x, y+dy)
gl.Vertex2i(x+dx, y+dy)
gl.Vertex2i(x+dx, y)
gl.End()
base.Log().Printf("%v %v %v %v", x, y, dx, dy)
gl.Color4ub(255, 0, 255, 255)
base.GetDictionary("luxisr").RenderString(p.text, float64(region.X), float64(region.Y), 0, float64(p.Size), gui.Left)
}
开发者ID:runningwild,项目名称:jota,代码行数:17,代码来源:gui.go
示例13: Draw
func (p *riftWalkProcess) Draw(gid game.Gid, g *game.Game, side int) {
player, ok := g.Ents[p.PlayerGid].(*game.PlayerEnt)
if !ok {
return
}
if side != player.Side() {
return
}
frac := p.Stored.Magnitude() / p.Threshold
if frac < 1 {
gl.Color4ub(255, 0, 0, 255)
} else {
gl.Color4ub(0, 255, 0, 255)
}
base.EnableShader("status_bar")
var outer float32 = 0.2
var increase float32 = 0.01
if frac > 1 {
frac = 1
}
base.SetUniformF("status_bar", "frac", float32(frac))
base.SetUniformF("status_bar", "inner", outer-increase)
base.SetUniformF("status_bar", "outer", outer)
base.SetUniformF("status_bar", "buffer", 0.01)
texture.Render(player.Pos().X-100, player.Pos().Y-100, 200, 200)
base.EnableShader("")
dist, radius := p.GetVals()
dest := player.Pos().Add((linear.Vec2{dist, 0}).Rotate(player.Angle))
gl.Disable(gl.TEXTURE_2D)
gl.Color4d(1, 1, 1, 1)
gl.Begin(gl.LINES)
gl.Vertex2d(gl.Double(player.Pos().X), gl.Double(player.Pos().Y))
gl.Vertex2d(gl.Double(dest.X), gl.Double(dest.Y))
gl.End()
n := 20
gl.Begin(gl.LINES)
for i := 0; i < n; i++ {
v1 := dest.Add((linear.Vec2{radius, 0}).Rotate(float64(i) / float64(n) * 2 * math.Pi))
v2 := dest.Add((linear.Vec2{radius, 0}).Rotate(float64(i+1) / float64(n) * 2 * math.Pi))
gl.Vertex2d(gl.Double(v1.X), gl.Double(v1.Y))
gl.Vertex2d(gl.Double(v2.X), gl.Double(v2.Y))
}
gl.End()
}
开发者ID:runningwild,项目名称:magnus,代码行数:45,代码来源:rift_walk.go
示例14: renderEdges
func (g *Game) renderEdges() {
// Draw edges between nodes
for _, ent := range g.Ents {
cp0, ok := ent.(*ControlPoint)
if !ok {
continue
}
for _, target := range cp0.Targets {
cp1, ok := g.Ents[target].(*ControlPoint)
if !ok {
continue
}
ally := 0
enemy := 0
if cp0.Side() == g.local.Side {
ally++
} else if cp0.Side() == -1 {
enemy++
}
if cp1.Side() == g.local.Side {
ally++
} else if cp1.Side() == -1 {
enemy++
}
if ally == 2 {
gl.Color4ub(0, 255, 0, 255)
} else if enemy == 2 {
gl.Color4ub(255, 0, 0, 255)
} else if ally == 1 {
gl.Color4ub(255, 255, 0, 255)
} else if enemy == 1 {
gl.Color4ub(255, 0, 0, 255)
} else {
gl.Color4ub(200, 200, 200, 255)
}
gl.Begin(gl.LINES)
gl.Vertex2d(gl.Double(cp0.Pos().X), gl.Double(cp0.Pos().Y))
gl.Vertex2d(gl.Double(cp1.Pos().X), gl.Double(cp1.Pos().Y))
gl.End()
}
}
}
开发者ID:runningwild,项目名称:jota,代码行数:42,代码来源:game_graphics.go
示例15: Draw
func (p *asplosionProc) Draw(src, obs game.Gid, game *game.Game) {
base.EnableShader("circle")
base.SetUniformF("circle", "edge", 0.7)
gl.Color4ub(255, 50, 10, gl.Ubyte(150))
texture.Render(
p.Pos.X-p.CurrentRadius,
p.Pos.Y-p.CurrentRadius,
2*p.CurrentRadius,
2*p.CurrentRadius)
base.EnableShader("")
}
开发者ID:runningwild,项目名称:jota,代码行数:11,代码来源:creep_graphics.go
示例16: Draw
func (ep *EntityPlacer) Draw(region gui.Region) {
ep.region = region
gl.Color4ub(255, 255, 255, 255)
ep.layout.Texture.Data().RenderNatural(region.X, region.Y)
for _, button := range ep.buttons {
button.RenderAt(ep.region.X, ep.region.Y)
}
d := base.GetDictionary(ep.layout.Roster.Points.Size)
x_off := ep.layout.Roster.Points.X_off
y_off := ep.layout.Roster.Points.Y_off
for i, button := range ep.ent_buttons {
cost := ep.roster[ep.roster_names[i]]
x := float64(button.X + x_off)
y := float64(button.Y + y_off)
d.RenderString(fmt.Sprintf("%d", cost), x, y, 0, d.MaxHeight(), gui.Right)
}
gl.Color4ub(255, 255, 255, 255)
var ent *Entity
if !pointInsideRect(ep.mx, ep.my, region.X, region.Y, region.Dx, region.Dy) {
ent = ep.game.new_ent
}
if ep.hovered != nil {
ent = ep.hovered
}
if ent != nil {
ent.Still.Data().RenderNatural(ep.layout.Face.X, ep.layout.Face.Y)
ep.layout.Name.RenderString(ent.Name)
ep.layout.Ap.RenderString(fmt.Sprintf("Ap:%d", ent.Stats.ApCur()))
ep.layout.Hp.RenderString(fmt.Sprintf("Hp:%d", ent.Stats.HpCur()))
ep.layout.Corpus.RenderString(fmt.Sprintf("Corpus:%d", ent.Stats.Corpus()))
ep.layout.Ego.RenderString(fmt.Sprintf("Ego:%d", ent.Stats.Ego()))
}
if ep.show_points {
d := base.GetDictionary(ep.layout.Points_remaining.Size)
x := float64(ep.layout.Points_remaining.X)
y := float64(ep.layout.Points_remaining.Y)
d.RenderString(ep.layout.Points_remaining.String, x, y, 0, d.MaxHeight(), gui.Left)
w := d.StringWidth(ep.layout.Points_remaining.String)
d.RenderString(fmt.Sprintf("%d", ep.points), x+w, y, 0, d.MaxHeight(), gui.Right)
}
}
开发者ID:ThalwegIII,项目名称:haunts,代码行数:41,代码来源:ui_entity_placer.go
示例17: Draw
func (mo *MapOption) Draw(hovered, selected, selectable bool, region gui.Region) {
var s byte
switch {
case selected:
s = 255
case hovered && selectable:
s = 205
case selectable:
s = 127
default:
s = 75
}
gl.Color4ub(s, s, s, 255)
icon := mo.house_def.Icon.Data()
if icon.Dx() == 0 {
icon = mo.layout.Default_icon.Data()
}
icon.RenderNatural(region.X, region.Y)
gl.Color4ub(0, 0, 0, 255)
d := base.GetDictionary(15)
d.RenderString(mo.house_def.Name, float64(region.X), float64(region.Y), 0, d.MaxHeight(), gui.Left)
}
开发者ID:RickDakan,项目名称:haunts,代码行数:22,代码来源:ui_select_map.go
示例18: Draw
func (p *burstProcess) Draw(player_id int, g *game.Game) {
player := g.GetEnt(player_id).(*game.Player)
base.EnableShader("circle")
prog := p.Remaining_initial.Magnitude() / p.Initial.Magnitude()
base.SetUniformF("circle", "progress", 1-float32(prog))
gl.Color4ub(255, 255, 255, 255)
radius := 40.0
texture.Render(
player.X-radius,
player.Y-radius,
2*radius,
2*radius)
base.EnableShader("")
}
开发者ID:dgthunder,项目名称:magnus,代码行数:14,代码来源:burst.go
示例19: Render
func (f *Furniture) Render(pos mathgl.Vec2, width float32) {
var rgba [4]float64
gl.GetDoublev(gl.CURRENT_COLOR, &rgba[0])
gl.PushAttrib(gl.CURRENT_BIT)
if !f.Blocks_los || !f.alpha_enabled {
f.alpha = 1
}
gl.Color4ub(byte(255*rgba[0]), byte(255*rgba[1]), byte(255*rgba[2]), byte(255*rgba[3]*f.alpha))
orientation := f.Orientations[f.Rotation]
dy := width * float32(orientation.Texture.Data().Dy()) / float32(orientation.Texture.Data().Dx())
// orientation.Texture.Data().Render(float64(pos.X), float64(pos.Y), float64(width), float64(dy))
orientation.Texture.Data().RenderAdvanced(float64(pos.X), float64(pos.Y), float64(width), float64(dy), 0, !f.Flip)
gl.PopAttrib()
}
开发者ID:RickDakan,项目名称:haunts,代码行数:14,代码来源:furniture.go
示例20: drawReticle
func (e *Entity) drawReticle(pos mathgl.Vec2, rgba [4]float64) {
if !e.hovered && !e.selected && !e.controlled {
return
}
gl.PushAttrib(gl.CURRENT_BIT)
r := byte(rgba[0] * 255)
g := byte(rgba[1] * 255)
b := byte(rgba[2] * 255)
a := byte(rgba[3] * 255)
switch {
case e.controlled:
gl.Color4ub(0, 0, r, a)
case e.selected:
gl.Color4ub(r, g, b, a)
default:
gl.Color4ub(r, g, b, byte((int(a)*200)>>8))
}
glow := texture.LoadFromPath(filepath.Join(base.GetDataDir(), "ui", "glow.png"))
dx := float64(e.last_render_width + 0.5)
dy := float64(e.last_render_width * 150 / 100)
glow.Render(float64(pos.X), float64(pos.Y), dx, dy)
gl.PopAttrib()
}
开发者ID:RickDakan,项目名称:haunts,代码行数:23,代码来源:entity.go
注:本文中的github.com/chsc/gogl/gl21.Color4ub函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论