7.21 杭州源创会火热报名中,一起来看看移动开发如何紧跟浪潮?
Watch Star Fork

鱼米三香 / Golang_OpenGL_devGoBSD-3-Clause

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
用Golang做OpenGL的开发尝试
Loading...
README.md 2.62 KB

#Golang_OpenGL_dev Language License

###写在前面 学Golang断断续续也有一段时间了,一直想写个gui程序,找到了go-ui这个库,写ui很简单,但是又发现无法做OpenGL,于是又找到了go-glfw,发现与OpenGL教程什么写的非常匹配,除了个别c++和Golang之间的细微差别,其他没有什么特别多的问题,同时也参考了go-glfw的examples,当然例子里面的图形比较复杂并且也使用了图片纹理(texture),我提取了其中编译绑定着色器的函数封装_compileShader.go_,并且将顶点着色器和像素着色器分离到单独的文件中(fragmentShader.fsvertexShader.vs)。

###2016年9月26日21:03:42 发现了第一个坑,可能是Golang或是OpenGL基础的问题,问题出现在使用gl.DrawElements绘制索引缓冲对象的最后一个参数是gl.PtrOffset类型的,需要用强制类型转换,因为Golang的指针偏移是一个专用类型,在c或是c++是int类型

###2016年9月27日21:37:48 用gl.DrawElements画图时可以使用最后一个参数指定偏移量,这个偏移量是相对于索引缓冲对象的起始位置的,起始位置为0,偏移量单位是byte,一般是3*4的倍数。使用偏移量可以和第二个参数count int32配合指定所要画的图形。

###2016年9月28日09:01:06 开始系统学习GLSL,现在简单理解顶点着色器是接受顶点数据,转换或者重新排列顶点位置信息、颜色和其他信息的处理程序,可以通过in关键字定义OpenGL输入的顶点属性,gl_Position这个内置变量会把位置输出到正式的设备坐标上。而像素着色器则是对每一个顶点的颜色信息作处理然后输出到正式的像素颜色上面。

###2016年10月11日08:57:32 发现在Sublime Text中有一个GLSL插件可以给.fs``.vs等文件高亮语法显示,我看教程介绍可以把着色器程序直接放在程序中以字符串形式调用,但是我还是准备设计一下把着色器放在的单独的文件之中,但是一个文件里面可以放多个着色器代码,用特殊的注释符号分割开,调用的时候只需要load(shaderName)就可以了这样就会方便很多

###现阶段屏幕截图 Screenshot

项目点评 ( 0 )

你可以在登录后,发表评论

11_float_left_people 11_float_left_close