opengl
kikook
这个作者很懒,什么都没留下…
展开
-
[OpenGL] 期末大作业开源 全套项目+PPT+报告 基于OpenGL 3.3 CORE 环境集成可以直接运行
本学期的OpenGL大作业做了一个3D二维码生成器:可以动态更新纹理:在数据的准备阶段,需要提取二维码关键点的信息,写了一个python脚本用来生成对应的二维数组:import qrcodeimport numpy as npdata = "http://idiospace.com"qr = qrcode.QRCode( version=1, #version二维码的格子矩阵大小,可以是1到40 error_correction=qrcode.cons.原创 2020-05-23 21:06:17 · 3209 阅读 · 0 评论 -
[OpenGL] OpenGL的纹理坐标问题
Window系统中,屏幕坐标原点在屏幕的左上角,X轴向右为正,Y轴向下为正.度量单位是象素OpenGL的定义中,纹理坐标原点在画布的左下角,X轴向右为正,Y轴向上为正 左下角坐标为(0.0f, 0,0f), 右上角坐标为(1.0f, 1.0f)和形状(矩形是否为正方形)无关, 其他位置取0到1之间的一个浮点数插值得到这也是为什么在Windows平台进行OpenGL编程的...原创 2020-05-20 17:00:37 · 2342 阅读 · 0 评论 -
[OpenGL] VAO 绘制闪光Square
效果:main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>#include <fstream>#include <string>#include <sstream>#define ASSERT(x) if (!(x)) __debugbreak(); // __ means the function is the ki原创 2020-05-19 16:32:41 · 273 阅读 · 0 评论 -
[OpenGL] 制作简单动画:一个会闪的square
main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>#include <fstream>#include <string>#include <sstream>#define ASSERT(x) if (!(x)) __debugbreak(); // __ means the function is the kind of co.原创 2020-05-19 12:48:31 · 656 阅读 · 0 评论 -
[OpenGL] 使用Index Buffers 绘制一个Square,源代码详细注释
使用Index Buffer技术可以实现顶点复用,极大降低数据的冗余度// main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>#include <fstream>#include <string>#include <sstream>struct ShaderProgramSource{ std::string V.原创 2020-05-18 02:17:48 · 568 阅读 · 0 评论 -
[OpenGL] 通俗理解 什么是vertex shader 什么是 fragment shader(又称pixel shader)
shader是一段跑在GPU上的程序。什么是vertex shader 什么是 fragment shader(又称pixel shader),作用:vertex shader:告诉显卡点应该被画在什么位置,对每一个顶点(这些顶点可能有很多属性(纹理,法线等等),也可能只有最基本的位置属性),假设有三个顶点,那么就应该被调用3次。fragment shader(pixel shader):对每一个需要渲染的像素运行fragment shader,设置像素的颜色,并最终渲染在屏幕...原创 2020-05-17 22:55:18 · 7039 阅读 · 0 评论 -
[OpenGL] glVertexAttribPointer用法理解,实例分析
实例分析:index:第几个属性,从0开始取,0,1,2,顺序自己定义,例如顶点位置,纹理,法线这里只有顶点位置,也只能讨论顶点位置,所以为0size:一个顶点所有数据的个数,这里每个顶点又两个浮点数属性值,所以是2type:顶点描述数据的类型,这里position数组中的数据全部为float,所以是GL_FLOATnormalized:是否需要显卡帮忙把数据归一化到-1到+1区间,这里需要,GL_FALSEstride:一个顶点占有的总的字节数,这里为...原创 2020-05-17 22:53:24 · 17092 阅读 · 1 评论 -
[OpenGL] 使用现代的OpenGL3.x画一个红色的三角形(详细注释)
需要配置一下glew和glfw库,说实话,这个三角形被正确显示出来的时候,我望着屏幕傻笑了很久,从在github上下载源码到编译glew,glfw,到配环境再到一步步理解每行代码的含义,到最终画出这个三角形,一个下午没了。// main.cpp#include <GL/glew.h>#include <iostream>#include <GLFW/glfw3.h>std::string vertexShader ="#version 330 core\原创 2020-05-17 22:46:35 · 569 阅读 · 0 评论 -
[opengl3.x] OVA,OBA,Shader绘制爱心
目录0. heart_data.py2. shader.cpp3. shader.hpp4.ColorFragmentShader.fragmentshader5.TransformVertexShader.vertexshaderpython数据离散化脚本:0. heart_data.pyimport numpy as npimport rando...原创 2020-04-10 00:22:51 · 776 阅读 · 0 评论