亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

go + SDL + OpenGL + MacOS 示例 = 在 DrawArrays()

go + SDL + OpenGL + MacOS 示例 = 在 DrawArrays()

Go
至尊寶的傳說 2022-06-01 17:42:09
SDL 版本:2.0.12OpenGL 版本:3.3 INTEL-10.4.14我不得不通過請求核心配置文件將 OpenGL 版本強制為 3.3,否則我會得到的默認版本是 1.2在這個視頻教程http://youtu.be/yxAPS2eyKmA Games with Go之后,我嘗試了 OpenGL 示例代碼,它只顯示了一個黑色窗口。它應該呈現一個橙色三角形。我在INVALID_OPERATION倒數第二個聲明之后gl.DrawArrays(gl.TRIANGLES, 0, 3)https://gist.github.com/ErnestoBorio/87b09bf3cc496657a83637fd4876e943    package main    import (        "fmt"        "strings"        "github.com/go-gl/gl/v3.3-core/gl"        "github.com/veandco/go-sdl2/sdl"    )    func DontPanic(err error) {        if err != nil {            panic(err)        }    }    var GLversion = [...]int {3, 3}    func main() {        DontPanic(            sdl.Init(sdl.INIT_EVERYTHING))        defer sdl.Quit()        DontPanic(            sdl.GLSetAttribute(sdl.GL_CONTEXT_PROFILE_MASK, sdl.GL_CONTEXT_PROFILE_CORE))        DontPanic(            sdl.GLSetAttribute(sdl.GL_CONTEXT_MAJOR_VERSION, GLversion[0]))        DontPanic(            sdl.GLSetAttribute(sdl.GL_CONTEXT_MINOR_VERSION, GLversion[1]))        window, err := sdl.CreateWindow("OpenGL", 200, 200, 1280, 720, sdl.WINDOW_OPENGL)        DontPanic(err)        window.GLCreateContext()        defer window.Destroy()        GLversionStr := fmt.Sprintf("%d%d0", GLversion[0], GLversion[1])        gl.Init()        version := gl.GoStr(gl.GetString(gl.VERSION))        fmt.Println("OpenGL Version", version)        vertexShaderSrc :=            "#version "+ GLversionStr +" core \n"+            "layout (location = 0) in vec3 aPos;"+            "void main() {"+                "gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);"+            "}\x00"        }
查看完整描述

1 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

您的代碼從不調用glUseProgram,這意味著您嘗試在沒有當前程序對象的情況下進行繪制,這在核心配置文件 OpenGL 中無效。



查看完整回答
反對 回復 2022-06-01
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號