
OpenGL
BEconfidence
坚持才是胜利之道
展开
-
初级着色器
3D坐标转2D坐标,由OpenGL图形渲染管线管理。Graphics Pipeline:管线:实际上指的是一堆原始图形数据途经一个输送管道,期间经过各种变化处理最终出现在屏幕的过程2D坐标与像素不同:2D坐标精确表示一个点在2D空间中的位置,而2D像素是这个点的近似值,2D像素受到你的屏幕/窗口分辨率的限制。OpenGl着色器:OpenGL Shad原创 2017-07-04 13:48:42 · 432 阅读 · 0 评论 -
OpenGL渲染管线
Opengl管线流程为:一开始为几何数据,例如顶点,几何图元,首先通过一系列的着色器处理他们,例如顶点着色器,镶嵌着色器,最后的几何着色器。光栅化为为所有的图元创建片段在clipping region内。并为每一个生成的片段执行fragment shader.vertex shader和fragment shader是必须的,tessellation shader和geometry shader ...原创 2018-03-13 17:26:01 · 406 阅读 · 2 评论 -
C++ Qt学习教程1-50
总结一下前50节,主要讲解Qt的一些部件,后面的是model模型数据的使用。很基础。这是我跟教程写的代码.教程为C++Qt,VoidRealms的教程1-50节代码下载链接:http://download.youkuaiyun.com/download/a197p/9947306原创 2017-08-24 11:24:57 · 2083 阅读 · 0 评论 -
使用Qt+OpenGL创建球体+简单交互
效果图:这里面还是用到了glut的函数,需要配置opengl环境的话,要把glut32.lib放到Ot的lib下,在include下新建Gl文件夹放入glut.h。需要把简历的OpenGLwidget提升为QLWidget.也没什么说的,具体看代码吧。glwidget.h:#ifndef GLWIDGET_H#define GLWIDGET_H#inc原创 2017-08-23 22:46:09 · 12383 阅读 · 7 评论 -
Qt链接数据库失败
一直以为是我的数据库配置问题。#include #include #include #include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv);/* QString servername="LOCALHOST\\MSSQLSERVER"; QStrin原创 2017-08-24 11:05:26 · 1141 阅读 · 0 评论 -
Qt中OpenGL窗口创建的几种形式
一、使用QOpenGLWidget:创建一个带widget类的项目:widget.h为:#ifndef WIDGET_H#define WIDGET_H#include #include #include class Widget : public QOpenGLWidget, protected QOpenGLFunctions{ Q_OBJECTpubl原创 2017-08-21 14:31:09 · 2935 阅读 · 1 评论 -
使用Qt编写opengl学习路线
之前想在qt上编译opengl,无从下手,最近看的到网上很多的例子。那不如就从这些例子下手,慢慢做实例。1.实现窗口效果:第一步新建,Qt Widgets Application工程,选择一个Widget控件拖入窗口,选择在窗口中进行栅格布局。简单说就是在ui界面,拖入一个Widget。2.新建类,右键添加新项,添加openglwindow类。base cl原创 2017-08-05 17:28:04 · 2216 阅读 · 0 评论 -
opengl网格中的对setupmesh的理解
glbufferdata()函数含义:就是把当前用户定义的数据 - 复制 - 到当前绑定缓冲。 用VBO管理。glBindBuffer()把当前的索引复制到缓冲。 由EBO管理。vertices.size() * sizeof(Vertex)就是把全部数据复制过来。glVertexAtrribPointer()这个函数的作用呢?链接顶点属性,根据顶点属性位置、大小、第5个是步长原创 2017-07-19 23:28:28 · 572 阅读 · 0 评论 -
[CG基础]
1.窗口界面的显示,400*300像素大小的窗口,四个角有四个红色的点。#include "stdafx.h"#include void display(void){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.0, 0.0); glBegin(GL_POINTS); glVertex2i(0, 0); glVertex2i原创 2017-08-07 16:25:02 · 445 阅读 · 0 评论 -
opengl对着色器纹理坐标等的综合
#include #include #include #include #include "stb_image.h"void framebuffer_size_callback(GLFWwindow* window, int width, int height);void processInput(GLFWwindow *window);// settingsconst uns原创 2017-07-20 21:00:11 · 1091 阅读 · 0 评论 -
解决win10无法安装framework3.5问题
开始装不上我以为是网速问题,安装了好久还是出现错误,也试了很多方法,更改windows update什么的。都安不上。最终解决办法:1.下载的名为NetFx3.cab的离线安装包放到Win10系统盘C:\Windows文件夹里。下载链接:http://pan.baidu.com/s/1geAjsaf2.解压ios镜像文件(打开介质文件),找到目录下source文件夹,找原创 2017-07-20 10:39:58 · 1326 阅读 · 2 评论 -
摄像机
// GLEW#define GLEW_STATIC#include // GLFW#include #include #include "Shader.h"#include #include #include #include void key_callback(GLFWwindow* windows, int key, int scancode, int action原创 2017-07-06 19:57:43 · 346 阅读 · 0 评论 -
坐标
局部空间:大部分都是(0,0)起点世界空间:世界坐标(0,0,0),模型矩阵转换观察空间:观察矩阵剪裁空间:投影矩阵,平截头体Frustum,由投影矩阵创建的观察区域,被转化到剪裁空间后,执行透视划分:在这个过程中我们将位置向量的x,y,z分量分别除以向量的齐次w分量;透视划分是将4维裁剪空间坐标转换为3维标准化设备坐标。这一步会在每一个顶点着色器运行的最后被自动执原创 2017-07-06 13:49:18 · 585 阅读 · 0 评论 -
变换
更多还是矩阵向量的基础内容:向量:方向和小大。点积:只定义了两个向量的夹角。你也许记得90度的余弦值是0,0度的余弦值是1。使用点乘可以很容易测试两个向量是否正交(Orthogonal)或平行。叉乘:它需要两个不平行向量作为输入,生成一个正交于两个输入向量的第三个向量。如果输入的两个向量也是正交的,那么叉乘之后将会产生3个互相正交的向量。缩放:矩阵的原创 2017-07-05 22:58:26 · 376 阅读 · 0 评论 -
纹理
每个顶点就会关联着一个纹理坐标,Texture Coordinate:标注采样的位置,然后在其他片段上进行片段差值。Fragment Interpolation使用纹理坐标获取纹理颜色叫做采样(Sampling),下面的图片展示了我们是如何把纹理坐标映射到三角形上的。纹理超出(0,0)到(1,1)时的环绕方式。原创 2017-07-05 15:00:34 · 1617 阅读 · 0 评论 -
着色器
GLSL:着色器的开头总是要声明版本,接着是输入和输出变量、uniform和main函数。顶点着色器的每个输入变量也叫顶点属性,至少16个包含4分量的顶点属性够用。数据类型:int、float、double、uint和bool。两个容器:向量(Vector)和矩阵(Matrix)。vecn 包含n个float分量的默认向量bvecn 包含n个bool分量的向量ive原创 2017-07-04 17:38:31 · 420 阅读 · 0 评论 -
图形渲染管线、图形处理单元[实时渲染]
一、图形渲染管线1.结构4个主要步骤:应用程序,几何处理,光栅化和像素处理几何处理阶段又分为顶点着色,投影,剪切和屏幕映射。顶点着色之后,有3个阶段镶嵌,几何着色和流输出。光栅化的2个子阶段,三角形设置和三角形遍历。二、图形处理单元1.数据并行体系结构单指令,多数据(SIMD)简化着色器执行示例2.GPU管线总览GPU实现渲染管线流程图:...原创 2019-02-28 14:43:20 · 563 阅读 · 0 评论