openGL学习笔记十三: 图片数据直接绘制

  直接用颜色数据绘制到屏幕上,这种方法效率较低。

代码如下:

char*   _pixel;

//初始化像素颜色
static void initPixel() {
	_pixel  =   new char[100 * 200 * 4];
	for(int i = 0; i < 100 * 200 * 4; ++i) {
		_pixel[i]   =   rand() % 255;
	}
}

// 绘制
static void render(GLFWwindow * window) {

	glClearColor(0, 0, 0, 1);
	glClear(GL_COLOR_BUFFER_BIT);

	//指定绘制的位置 x,y
	glRasterPos2i(100, 300);
	// glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
	// width 图片宽度
	// height 图片高度
	// format 图片颜色值格式
	// type rgb每个通道的数据类型 (无符号char)
	// pixels 颜色数据指针
	glDrawPixels(100, 200, GL_RGBA, GL_UNSIGNED_BYTE, _pixel);

	glfwSwapBuffers(window);
	glfwPollEvents();
}

运行结果:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值