Go上的极简OpenGL开发笔记(六)

6 篇文章 1 订阅

啊这, OpenGL 这么不火的么
加上 Go 在中国是不是属于双重小众属性

小结

  • 目前所写的程序已经搭建出一个基本的 OpenGL在 Go上的运行框架了
  • 之后可以修改 shader和 points什么的,继续学习 OpenGL
  • 原教程大概会继续比着写,不过会是本人 Go-OpenGL系列的一个 fork
  • 参考资料:
  • OpenGL API Documentation: http://docs.gl/
  • learnopengl-cn: https://learnopengl-cn.github.io/

画正方形

首先修改窗口为正方形

const (
	width = 800
	height = 800
)

数据点更改为正方形四个角

var triangle = []float32 {
	0.5, 0.5, 0, // (x, y, z) 
	0.5, -0.5, 0,
	-0.5, -0.5, 0,
    -0.5, 0.5, 0,
}

DrawArrays函数更改绘制方式参数

gl.DrawArrays(gl.TRIANGLE_FAN, 0, int32(len(triangle) / 3))

直接 Go
在这里插入图片描述

绘制方式原理

DrawArrays 函数中第一个参数即是控制绘制方式的,主要有:

Go 中 以下常量是 gl.*的形式,对应 C++中的 GL_*

  • POINT
  • LINES
    • 两两画线
  • LINE_STRIP
    • 不断画线
  • LINE_LOOP
    • 成环
  • TRIANGLES
  • TRIANGLE_STRIP
    • 使用 p1, p2, p3 画三角
  • TRIANGLE_FAN
    • 使用 p0, p2, p3 画三角
    • OpenGL红宝书上有详细的示意图

此处画正方形实际是两个三角形(片元)相并

To be continued…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值