自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

加载中...

----------请检查你的网络设置

  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 OpenGL基础14:摄像机

很可惜,openGL没有摄像机的概念一、摄像机我们当然需要想办法模拟出一个摄像机,也就是玩家的视角,在前面这一章:第一个正方体,我们仅将“摄像机”往z轴正方向移动了3个单位,并且正对着(0, 0, 0),但是大部分的情况下,类似于我们处于一个3D场景中,摄像机的视角都是从上斜向下的,这个时候若想要计算摄像机的位置和方向信息,就是需要一定的运算了既然摄像机如此重要,我们当然需要知道它的很多信息,包括:摄像机位置 观察方向(摄像机z轴) 垂直于观察方向,指向摄像机右侧的向量(摄像机...

2020-05-26 15:25:08 1511 1

原创 OpenGL基础13:第一个正方体

我们已经进入了3D世界了,想办法生成一个最简单的3D图形:正方体吧一、生成一块箱子接上一章的代码,其实如果前面12章都完全理解了,应该可以直接写出生成正方体的代码(不就是多5个面嘛)为了简单化,我们保留纹理,把颜色这一属性也去掉,除此之外顶点缓冲也不用了,直接拉36个顶点出来代码如下(当然也顺便换了个纹理):#include<iostream>#include<opengl/glew.h>#define GLEW_STATIC#include<...

2020-05-21 19:47:46 1606

原创 OpenGL基础12:进入3D世界

前置:OpenGL基础11:空间一、坐标系我们都学过坐标系,根据z轴的方向,一般有两种不同的坐标系表示方法:其中拇指是x轴正方向,食指是y轴正方向,中指是z轴正方形OpenGL约定是右手坐标系,而在标准化设备坐标系(NDCSpace)中OpenGL使用的是左手坐标系还记得上一章的这个公式嘛:再看看下面的这个顶点着色器,是不是有种亲切感#version 330 corelayout (location = 0) in vec3 position;layout ...

2020-05-21 16:49:03 2064

原创 OpenGL基础11:空间

一、局部空间即对象被创建时,所在的空间例如我们用模型软建(ZBrush、Blender、3DMax等)创建了一条龙的模型,那么它在创建的时候,就处于它的局部空间内,一般来讲,模型的中心即局部空间的中心(0, 0, 0),如果我们这里说龙的眼睛的坐标为(2.2, 1.5, -2),那么也就是这个龙的眼睛相对于自身的中心,偏移量为(2.2, 1.5, -2)就如下图,一个球体和一个正方体,它们都处于各自的局部空间,并且中心都在(0, 0, 0)的位置二、世界空间如果我们...

2020-05-21 11:44:27 1153

原创 OpenGL基础10:变换

必须掌握的前置技能:https://blog.csdn.net/Jaihk662/article/details/103811465(向量与矩阵)其实也不难,也就是一些线性代数的基本知识,暂时只需要理解到这种程度就好,后面可以再说一、GLM库和SOIL一样,GLM也是一个openGL的库,里面存着各种数学公式和算法OpenGL环境配置(超全整合版)GLM库也可以从这篇文章中的链接中下载到,有个叫做glm-0.9.9.8的文件夹就是了,打开后将其中整个glm文件夹丢到VS的include...

2020-05-15 16:05:00 1289

原创 OpenGL基础9:纹理

其实上一章就是在讲纹理了,不过上一章的目的仅是在想办法生成一张有纹理的矩形一、纹理坐标与环绕方式为了能够把纹理映射(Map)到三角形上,我们需要指定三角形的每个顶点各自对应纹理的哪个部分,每个顶点都会关联着一个纹理坐标(Texture Coordinate),用来标明该从纹理图像的哪个部分采样,之后在图形的其它片段上进行片段插值(Fragment Interpolation)我们很长的一段时间只需要考虑2D的图象,2D纹理坐标范围为(0~1),起始于左下角(0, 0),终止于右上角(1, ...

2020-05-13 19:55:47 990

原创 OpenGL基础8:SOIL库

一、SOILSOIL是简易OpenGL图像库(Simple OpenGL Image Library)的缩写,它支持大多数流行的图像格式,关于SOIL的介绍应该很多,这里就不说了,我们先装上OpenGL环境配置(超全整合版)SOIL库可以从这篇文章中的链接中下载到,有个叫做imple OpenGL Image Library的文件夹就是了,打开后将其src文件夹中的SOIL.h放到老位置(C:\Program Files (x86)\Microsoft Visual Studio\2019\C...

2020-05-11 20:23:53 13272 3

原创 OpenGL基础7:彩色三角形

一、彩色三角形前面顶点属性只用了位置属性,现在可以尝试给顶点加上颜色属性GLfloat trangleY[] ={ -0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, -0.5f, 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};这些属性更新到...

2020-05-07 20:01:27 1335 2

原创 OpenGL基础6:着色器

如果想要完整的代码,可以用上一章最下面那份代码,然后进行局部替换就OK了一、着色器结构一个简单的着色器如下:#version 3.4 //版本号in type name1 //输入数据out type name2 //输出数据uniform type name3 //全局属性int main(){ // 处理输入并进行一些图形操作...

2020-05-07 12:10:43 780 4

OpenGL基础学习完整代码(完整场景带优化).zip

对应的OpenGL学习博客:https://blog.csdn.net/jaihk662/category_9903113.html,第1章~第56章节完整代码。需要对应环境(openGL基本环境,SOIL库、glm库以及Assimp库、FreeType库),如何装环境的教程也在上面的链接中。此代码仅用于OpenGL入门学习

2020-09-28

OpenGL基础学习完整代码.zip

对应的OpenGL学习博客:https://blog.csdn.net/jaihk662/category_9903113.html,第1章~第45章节完整代码。需要对应环境(openGL基本环境,SOIL库、glm库以及Assimp库),如何装环境的教程也在上面的链接中。此代码仅用于OpenGL入门学习。PS:可能会有点卡主要是因为:①使用的地面模型是高模(几十万个顶点)②使用的天空盒贴图是2040x2048的超大贴图6张;没办法只找到这些资源,所以只能将就着用了

2020-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除