本文整理汇总了Golang中github.com/go-gl/gl.ClearColor函数的典型用法代码示例。如果您正苦于以下问题:Golang ClearColor函数的具体用法?Golang ClearColor怎么用?Golang ClearColor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ClearColor函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: 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
示例2: initGL
// initGL initializes GLFW and OpenGL.
func initGL() error {
err := glfw.Init()
if err != nil {
return err
}
glfw.OpenWindowHint(glfw.FsaaSamples, 4)
err = glfw.OpenWindow(512, 512, 8, 8, 8, 8, 0, 0, glfw.Windowed)
if err != nil {
glfw.Terminate()
return err
}
glfw.SetWindowTitle("Meshbuffer 2D example")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
glfw.SetKeyCallback(onKey)
gl.Init()
if err = glh.CheckGLError(); err != nil {
return err
}
gl.Disable(gl.DEPTH_TEST)
gl.Enable(gl.MULTISAMPLE)
gl.Disable(gl.LIGHTING)
gl.Enable(gl.COLOR_MATERIAL)
gl.ClearColor(0.2, 0.2, 0.23, 1.0)
return nil
}
开发者ID:jayschwa,项目名称:examples,代码行数:32,代码来源:main.go
示例3: NewRenderer
// NewRenderer creates a new Renderer with the given window size and title.
func NewRenderer(window *Window) (*Renderer, error) {
logger.Debug("Initializing GLEW")
// Init glew
if gl.Init() != 0 {
return nil, errors.New("Could not initialise glew.")
}
gl.GetError()
if window.Settings.ClearColor != nil {
color := window.Settings.ClearColor
gl.ClearColor(
gl.GLclampf(color.R()),
gl.GLclampf(color.G()),
gl.GLclampf(color.B()),
0.,
)
}
gl.Enable(gl.DEPTH_TEST)
gl.DepthFunc(gl.LESS)
gl.Enable(gl.CULL_FACE)
// Vertex buffers
vertexArray := gl.GenVertexArray()
vertexArray.Bind()
renderer := Renderer{
vertexArray: vertexArray,
window: window,
}
return &renderer, nil
}
开发者ID:nobonobo,项目名称:go-three,代码行数:35,代码来源:renderer.go
示例4: main
func main() {
if err := glfw.Init(); err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err.Error())
return
}
defer glfw.Terminate()
glfw.OpenWindowHint(glfw.FsaaSamples, 4)
glfw.OpenWindowHint(glfw.OpenGLVersionMajor, 3)
glfw.OpenWindowHint(glfw.OpenGLVersionMinor, 3)
glfw.OpenWindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
if err := glfw.OpenWindow(1024, 768, 0, 0, 0, 0, 32, 0, glfw.Windowed); err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err.Error())
return
}
gl.Init()
gl.GetError() // Ignore error
glfw.SetWindowTitle("Tutorial 01")
glfw.Enable(glfw.StickyKeys)
gl.ClearColor(0., 0., 0.4, 0.)
// Equivalent to a do... while
for ok := true; ok; ok = (glfw.Key(glfw.KeyEsc) != glfw.KeyPress && glfw.WindowParam(glfw.Opened) == gl.TRUE) {
glfw.SwapBuffers()
}
}
开发者ID:GlenKelley,项目名称:mathgl,代码行数:30,代码来源:main.go
示例5: 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
示例6: initGL
func initGL() (err error) {
if err = loadTextures(); err != nil {
return
}
gl.ShadeModel(gl.SMOOTH)
gl.ClearColor(0, 0, 0, 0)
gl.ClearDepth(1)
gl.DepthFunc(gl.LEQUAL)
gl.Hint(gl.PERSPECTIVE_CORRECTION_HINT, gl.NICEST)
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.DEPTH_TEST)
//alpha通道的值为 0.0意味着物体材质是完全透明的。1.0 则意味着完全不透明
//以全亮度绘制此物体,并对其进行50%的alpha混合(半透明)。
//当混合选项打开时,此物体将会产生50%的透明效果
gl.Color4f(1, 1, 1, 0.5) //全亮度, 50% Alpha 混合
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE) //基于源象素alpha通道值的半透明混合函数
gl.Lightfv(gl.LIGHT1, gl.AMBIENT, ambient)
gl.Lightfv(gl.LIGHT1, gl.AMBIENT, diffuse)
gl.Lightfv(gl.LIGHT1, gl.POSITION, lightpos)
gl.Enable(gl.LIGHT1)
return
}
开发者ID:bonly,项目名称:exercise,代码行数:25,代码来源:20110519_nehe08.go
示例7: initGL
// initGL initializes GLFW and OpenGL.
func initGL() error {
err := glfw.Init()
if err != nil {
return err
}
err = glfw.OpenWindow(640, 480, 8, 8, 8, 8, 0, 0, glfw.Windowed)
if err != nil {
glfw.Terminate()
return err
}
glfw.SetWindowTitle("go-gl/gltext: Bitmap font example")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
glfw.SetKeyCallback(onKey)
errno := gl.Init()
if errno != gl.NO_ERROR {
str, err := glu.ErrorString(errno)
if err != nil {
return fmt.Errorf("Unknown openGL error: %d", errno)
}
return fmt.Errorf(str)
}
gl.Disable(gl.DEPTH_TEST)
gl.Disable(gl.LIGHTING)
gl.ClearColor(0.2, 0.2, 0.23, 0.0)
return nil
}
开发者ID:jayschwa,项目名称:examples,代码行数:32,代码来源:main.go
示例8: initGL
func initGL() (err error) {
if err = loadTextures(); err != nil {
return
}
gl.ShadeModel(gl.SMOOTH) /// 启用阴影平滑,设置平滑着色,阴影平滑通过多边形精细的混合色彩,并对外部光进行平滑
/*
色彩值的范围从0.0f到1.0f。0.0f代表最黑的情况,1.0f就是最亮的情况。
glClearColor 后的第一个参数是Red Intensity(红色分量),第二个是绿色,第三个是蓝色。最大值也是1.0f,代表特定颜色分量的最亮情况。
最后一个参数是Alpha值。当它用来清除屏幕的时候,我们不用关心第四个数字。现在让它为0.0f.
*/
gl.ClearColor(0, 0, 0, 0) ///设置清除屏幕时所用的颜色,黑色背景
/*
接下来的三行必须做的是关于depth buffer(深度缓存)的。将深度缓存设想为屏幕后面的层。
深度缓存不断的对物体进入屏幕内部有多深进行跟踪。
本程序其实没有真正使用深度缓存,但几乎所有在屏幕上显示3D场景OpenGL程序都使用深度缓存。
它的排序决定那个物体先画。这样您就不会将一个圆形后面的正方形画到圆形上来。深度缓存是OpenGL十分重要的部分。
*/
gl.ClearDepth(1) ///设置深度缓存
gl.DepthFunc(gl.LEQUAL) ///所作深度测试的类型
gl.Hint(gl.PERSPECTIVE_CORRECTION_HINT, gl.NICEST) ///告诉系统对透视进行修正,这会十分轻微的影响性能。但使得透视图看起来好一点
gl.Enable(gl.DEPTH_TEST) ///启用深度测试
gl.Enable(gl.TEXTURE_2D) ///启用纹理映射
return
}
开发者ID:bonly,项目名称:exercise,代码行数:28,代码来源:20110517_nehe06.go
示例9: main
func main() {
runtime.LockOSThread()
if !glfw.Init() {
fmt.Fprintf(os.Stderr, "Can't open GLFW")
return
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Samples, 4)
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 3)
glfw.WindowHint(glfw.OpenglProfile, glfw.OpenglCoreProfile)
glfw.WindowHint(glfw.OpenglForwardCompatible, glfw.True) // needed for macs
window, err := glfw.CreateWindow(1024, 768, "Tutorial 1", nil, nil)
if err != nil {
fmt.Fprintf(os.Stderr, "%v\n", err)
return
}
window.MakeContextCurrent()
gl.Init()
gl.GetError() // Ignore error
window.SetInputMode(glfw.StickyKeys, 1)
gl.ClearColor(0., 0., 0.4, 0.)
// Equivalent to a do... while
for ok := true; ok; ok = (window.GetKey(glfw.KeyEscape) != glfw.Press && !window.ShouldClose()) {
window.SwapBuffers()
glfw.PollEvents()
}
}
开发者ID:krux02,项目名称:mathgl,代码行数:35,代码来源:main.go
示例10: Init
func Init() {
runtime.LockOSThread()
// Initialize GLFW
var err error
if err = glfw.Init(); err != nil {
log.Fatalf("%v\n", err)
return
}
err = glfw.OpenWindow(SCREEN_WIDTH, SCREEN_HEIGHT,
0, 0, 0, 0, 0, 0, glfw.Windowed)
if err != nil {
log.Fatalf("%v\n", err)
return
}
glfw.SetWindowTitle("Mandelbrot")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
glfw.SetWindowCloseCallback(onClose)
glfw.SetMouseButtonCallback(onMouseBtn)
glfw.SetMouseWheelCallback(onMouseWheel)
glfw.SetKeyCallback(onKey)
glfw.SetCharCallback(onChar)
// Initialize OpenGL
gl.Disable(gl.DEPTH_TEST)
gl.ClearColor(0, 0, 0, 0)
}
开发者ID:nightlifelover,项目名称:GoMandelbrot,代码行数:35,代码来源:inputoutput.go
示例11: initGL
func initGL() (err error) {
goph, err := os.Open(texturefiles[0])
if err != nil {
panic(err)
}
defer goph.Close()
texture, err = createTexture(goph)
gl.ShadeModel(gl.SMOOTH)
gl.ClearColor(0, 0, 0, 0.5)
gl.ClearDepth(1)
gl.Hint(gl.PERSPECTIVE_CORRECTION_HINT, gl.NICEST)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE) // 设置混色函数取得半透明效果
gl.Enable(gl.BLEND)
gl.Enable(gl.TEXTURE_2D)
rand.Seed(time.Now().Unix())
for loop = 0; loop < num; loop++ {
star[loop].angle = 0.0
star[loop].dist = float32(loop) / num * 5
//fmt.Println(loop, star[loop].dist)
star[loop].r = uint8(rand.Int() % 256)
star[loop].g = uint8(rand.Int() % 256)
star[loop].b = uint8(rand.Int() % 256)
}
return
}
开发者ID:nzlov,项目名称:gogl,代码行数:30,代码来源:09.go
示例12: initGL
// initGL initializes GLFW and OpenGL.
func initGL(c *cpu.CPU, width, height int) error {
err := glfw.Init()
if err != nil {
return err
}
glfw.OpenWindowHint(glfw.WindowNoResize, 1)
err = glfw.OpenWindow(width, height, 8, 8, 8, 8, 8, 0, glfw.Windowed)
if err != nil {
glfw.Terminate()
return err
}
glfw.SetWindowTitle("DCPU")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
gl.Init()
err = glh.CheckGLError()
if err != nil {
return err
}
gl.Disable(gl.LIGHTING)
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, 1)
return err
}
开发者ID:jteeuwen,项目名称:dcpu,代码行数:33,代码来源:gl.go
示例13: ClearAlpha
// Clear the alpha channel in the color buffer
func ClearAlpha(alpha_value gl.GLclampf) {
With(Attrib{gl.COLOR_BUFFER_BIT}, func() {
gl.ColorMask(false, false, false, true)
gl.ClearColor(0, 0, 0, alpha_value)
gl.Clear(gl.COLOR_BUFFER_BIT)
})
}
开发者ID:jasonrpowers,项目名称:glh,代码行数:8,代码来源:util.go
示例14: InitWindow
// Initialize the window. Returns an error if glfw or glew throws one.
func InitWindow(width, height int) error {
Width, Height = width, height
err := glfw.Init()
if err != nil {
return err
}
err = glfw.OpenWindow(Width, Height, 0, 0, 0, 32, 32, 32, glfw.Windowed)
if err != nil {
return err
}
WindowOpened = true
glfw.SetWindowTitle("Goliath")
glfw.Enable(glfw.KeyRepeat)
if ret := gl.Init(); ret != 0 {
return fmt.Errorf("failed to initialize GLEW: %d", ret)
}
// Set GL states
gl.ClearColor(0.0, 0.0, 0.0, 1.0)
gl.Enable(gl.CULL_FACE)
gl.CullFace(gl.BACK)
gl.FrontFace(gl.CCW)
err = InitShaders()
if err != nil {
return err
}
InitCamera(Width, Height)
return nil
}
开发者ID:Nvveen,项目名称:Goliath,代码行数:30,代码来源:main.go
示例15: Init
// program & OpenGL initialization
func Init() {
gl.ShadeModel(gl.SMOOTH) // 启用阴影平滑
gl.ClearColor(0.0, 0.0, 0.0, 0.0) // 黑色背景
gl.ClearDepth(1.0) // 设置深度缓存
gl.Enable(gl.DEPTH_TEST) // 启用深度测试
gl.DepthFunc(gl.LEQUAL) // 所作深度测试的类型
gl.Hint(gl.PERSPECTIVE_CORRECTION_HINT, gl.NICEST) // 告诉系统对透视进行修正
}
开发者ID:nzlov,项目名称:gogl,代码行数:9,代码来源:04.go
示例16: initGL
func initGL() {
gl.ShadeModel(gl.SMOOTH)
gl.ClearColor(0, 0, 0, 0)
gl.ClearDepth(1)
gl.Enable(gl.DEPTH_TEST)
gl.DepthFunc(gl.LEQUAL)
gl.Hint(gl.PERSPECTIVE_CORRECTION_HINT, gl.NICEST)
}
开发者ID:jayschwa,项目名称:examples,代码行数:8,代码来源:main.go
示例17: 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
示例18: Initialize
func (r *Renderer) Initialize() {
r.vertices = []mapVertex{
{200, 200, 0, 1, 1, 1, 1, 0, 0},
{218, 200, 0, 1, 0, 0, 1, 0, 0},
}
vs, err := LoadShader(vertexShader, gl.VERTEX_SHADER)
if err != nil {
panic(err)
}
gs, err := LoadShader(geometryShader, gl.GEOMETRY_SHADER)
if err != nil {
panic(err)
}
fs, err := LoadShader(fragmentShader, gl.FRAGMENT_SHADER)
if err != nil {
panic(err)
}
gl.ClearColor(0, 1, 0, 0)
// Create the VAO
// GL 3+ allows us to store the vertex layout in a vertex array object (VAO).
r.vao = gl.GenVertexArray()
r.vao.Bind()
// Create VBO
r.vbo = gl.GenBuffer()
r.vbo.Bind(gl.ARRAY_BUFFER)
gl.BufferData(gl.ARRAY_BUFFER, len(r.vertices)*4*9, r.vertices, gl.DYNAMIC_DRAW)
prog, err := LoadProgram(vs, gs, fs)
if err != nil {
panic(err)
}
prog.Use()
r.prog = prog
r.mvmLocation = r.prog.GetUniformLocation("modelview_matrix")
pos := r.prog.GetAttribLocation("in_position")
color := r.prog.GetAttribLocation("in_color")
texcoord := r.prog.GetAttribLocation("in_texcoord")
// FIXME: size math
pos.AttribPointer(3, gl.FLOAT, false, 9*4, nil)
color.AttribPointer(4, gl.FLOAT, false, 9*4, uintptr(3*4))
texcoord.AttribPointer(2, gl.FLOAT, false, 9*4, uintptr(7*4))
pos.EnableArray()
color.EnableArray()
texcoord.EnableArray()
}
开发者ID:fatman2021,项目名称:mapeditor,代码行数:57,代码来源:renderer.go
示例19: initGL
func initGL() {
gl.ShadeModel(gl.SMOOTH) /// 设置平滑着色?(是默认的)
//gl.ShadeModel(gl.FLAT); /// 即单色,使用最后一个点所用的颜色
gl.ClearColor(0, 0, 0, 0)
gl.ClearDepth(1)
gl.Enable(gl.DEPTH_TEST)
gl.DepthFunc(gl.LEQUAL)
gl.Hint(gl.PERSPECTIVE_CORRECTION_HINT, gl.NICEST)
}
开发者ID:bonly,项目名称:exercise,代码行数:9,代码来源:20110516_nehe04.go
示例20: 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
注:本文中的github.com/go-gl/gl.ClearColor函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论