自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 [数据结构] 复杂度分析---时间、空间复杂度

1.什么是时间、空间复杂度?为什么要进行时间、空间复杂度分析?2.大O表示法3.分析时间、空间复杂度的方法4.复杂度分析的四个方面:最好情况时间复杂度,最坏情况时间复杂度,平均情况时间复杂度,均摊时间复杂度

2019-08-08 16:22:51 310 1

原创 [数据结构] 线性表---链式存储结构

1.线性表的链式存储结构定义2.线性表链式存储结构代码描述3.对单链表的整表创建、整表删除、插入、删除、读取4.比较链式存储结构和线性存储结构

2019-07-31 09:49:00 913

原创 [数据结构]线性表-----顺序存储结构

写在前面,本篇文章,你将了解到1.线性表的定义2.线性表的抽象数据类型及一些基本操作3.线性表的两大结构介绍:顺序存储结构和链式存储结构4.顺序存储结构的插入与删除,及优缺点

2019-07-24 11:44:35 266

原创 数据结构基本概念

写在前面,本篇文章,你将了解到:1.数据、数据元素、数据项、数据对象的概念及其之间的关系2.数据结构的定义3.逻辑结构:集合结构、线性结构、树形结构、图形结构4.物理结构:顺序存储结构、链式存储结构5.数据类型,抽象数据类型的定义

2019-07-11 10:22:58 205

原创 [OpenGL]OpenGL纹理

1.纹理纹理是一个2D图片,甚至有可能是1D 和3D纹理,纹理是用来添加物体的细节,可以想象纹理是一张绘有砖块的纸,贴在一面白色的墙上,这样看起来墙就有砖块外表了。纹理除了图像以外,纹理可以被用来存储大量的数据,这些数据可以发送到着色器上纹理坐标在x和y轴上,范围为[0,1](用的2D纹理图像),使用纹理坐标获取纹理颜色叫做采样,纹理坐标起始于(0,0),也就是纹理图片的左下角,终于(1,1...

2019-06-19 16:59:10 1125

原创 [OpenGL]OpenGL着色器基础知识及应用

1.着色器概念着色器是运行在GPU上的小程序,这些小程序为图形渲染管线的某个特性部分而运行。着色器是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信,它们之间唯一的沟通只有通过输入和输出2.着色器的结构着色器的开头总是要声明版本,接着是输入和输出的变量,uniform和main函数。每个着色器的入口点都是main函数,在main函数中,我们处理所有的输入变量...

2019-06-15 12:29:52 426

原创 [OpenGL]OpenGL顶点着色器、编译着色器、片段着色器

1.顶点着色器(Vertex Shader)顶点着色器:几个可编程着色器中的一个。OpenGL用GLSL编写着色器,GLSL看起来很像C语言。#version 330 corelayout (location = 0) int vec3 aPos;void main(){ gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0)}...

2019-06-14 17:33:17 5113 1

原创 [OpenGL]OpenGL渲染管线

图形渲染管线的整个处理流程可以被划分为几个阶段,上一个阶段的输出数据作为下一个阶段的输入数据,是一个串行的,面向过程的执行过程。每一个阶段分别在GPU上运行各自的数据处理程序,这个程序就是着色器顶点数据:顶点的集合,顶点一般都是是三维坐标基本图元(primitives):点,线段,三角形等,构成实体模型的基本单位顶点着色器(Vertex Shader):包含对一些顶点属性的处理基本图元装...

2019-06-13 17:30:21 200

原创 [OpenGL]OpenGL中VAO、VBO、EBO概念及应用

1.VBO(顶点缓冲对象 Vertex Buffer Objects ,VBO)VBO:顶点缓冲对象,是在显卡存储空间中开辟出的一块内存缓存区,用于存储顶点的各类属性信息,如顶点坐标,顶点向量,顶点颜色数据等。在渲染时,可以直接从VBO取出顶点的各类属性数据,由于VBO在显存而不是在内存中,不需要从CPU传输数据,处理效率更高。可以开辟很多个VBO,每个VBO在OpenGL中有它的唯一标识ID...

2019-06-13 15:21:39 1373

原创 [OpenGL]OpenGL几何变换的秘密--投影(透视投影、平行投影、正投影)

1.透视投影如下a图,透视投影是从某个投影点将物体投影到单一投影面上所得到的图形,透视投影符合人们心理习惯,即离视点近的物体大,离视点远的物体小,远到极点即为消失。在透视投影中,同一灯光下,改变物体的位置和方向,其投影也跟着发生变化2.平行投影如下b图,平行投影是在一束平行光线照射下形成的投影。在平行投影中,同一时刻改变物体的方向和位置,其投影也跟着发生变化;投影大小与物体和投影面之间的距离...

2019-06-12 11:20:43 6399

原创 [OpenGL]OpenGL几何变换的秘密(模型变换、视点变换、全局变换、局部变换)

1.模型变换(Model transformation)---- 视点不变,变物体 我们在OpenGL中通过定义一组顶点来定义一个模型,我们遇到的平移、缩放、旋转等变换都可以理解为模型变换,视点不变,主要对物体进行操作。在OpenGL中,我们使用glMatrixMode(GL_MODELVIEW)来处理模型变换,我们知道OpenGL使用堆栈管理矩阵,所以我们有不同的堆栈进行管理,有模型变换矩阵...

2019-06-11 14:59:32 1055 2

原创 [OpenGL]OpenGL基本语法

1.OpenGL函数的命名规则详细的命名规则巴拉巴拉的,就不写了(实际上寡人就是懒),但是不写又感觉不好意思,毕竟标题都写了( 那啥都脱了你给我看这个??),既然这样,那就上个例子: 老板来杯拿铁,不加奶 2.OpenGL数据类型哎呦,这一大堆的东西,看的寡人头都大了,脑阔疼。。。看到这,肯定会有小哥哥或者小姐姐心想,明明C/C++里面就有int byte float这乱七八糟一大顿...

2019-06-05 16:36:14 1826

原创 OpenGL--基础知识(1)

1.基础渲染管线在OpenGL中,最基础的元素就是点,一些点组合在一起,按照预定的方式连线,另外加上光照、贴图、颜色等就组成了我们在屏幕上所看到的图形图像。例如,一个顶点的基础就是一个点,只是这个顶点包含位置、颜色等属性;一个三角形的基础就是三个点,按照预定的方式进行连线。我们来看一个大致的渲染流程图(摘自OpenGL SuperBible):这是一个简化版本,我们可以看到,渲染管线把三个顶...

2019-05-17 12:04:18 303

原创 [OpenGL]OpenGL简介及MacOs下环境配置

OpenGL简介OpenGL全名Open Graphics Library,译名为开放图形库,用于渲染2D,3D矢量图形的跨语言、跨平台的应用程序编程接口(API)OpenGL不仅与语言无关,而且平台无关。除了核心API要求的功能之外,GPU供应商可以通过扩展形式提供额外的功能。Mac OS环境下配置OpenGL1.首先我们先安装brew(mac下的一个包管理工具)打开终端,输入...

2019-02-24 18:07:37 6440 6

原创 【c++】类&对象详解

C++在C语言的基础上增加了面向对象编程 类是C++的核心特性类的定义类用于指定对象的形式,包含了数据的类型和处理数据的方法。类中的数据和方法称为类的成员。定义一个类,本质就是在这个类中定义数据类型,和相应处理该数据的方法。形式为:class 类名{ ...//数据和方法}例如class Box{ public: int length; //长 int

2017-11-08 20:17:53 162

原创 【C++】日期&时间

【C++】日期&时间 C++标准库没有提供日期类型,C++继承了C语言用于日期和时间操作的函数,所以在C++程序中需要引用`<ctime>`头文件。其中有四个与时间相关的类型:clock_t、time_t、size_t、tm,类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。而结构体类型tm则把日期和时间以C结构的形式保存。 struct tm{

2017-11-08 14:22:35 578 2

原创 【Unity Shader】4.Unity Shader基本知识学习(混合 Blending )

1.Blending 的基本概念我们先来看一张图片: 图片来自网络截图,由图可知,混合操作最常见的用途便是用来制作透明物体、进行纹理的混合,它是Shader渲染的最后一步。混合操作有两个对象:源和目标,因此也有两个对应的因子,即源因子和目标因子2.语法Blend off 关闭混合Blend SrcFactor DstFactor这个也就是上面混合操作中介绍的源和目标,这个操作的作用就是配置和启

2016-12-09 23:39:19 609

原创 【Computer Graphics】2.直线生成算法(中点画线 算法)

在介绍中点画线算法之前,我们先来看一个概念,增量算法何为增量算法?增量算法就是在一个迭代算法中,如果每一步,x,y值都是用前一步的值加上一个增量来获得。。。。则称增量算法。。DDA就是一个增量算法。下面我们来讲增量算法,先看一张图(ps:自己画的,各位大神手下留情)假设直线斜率 0<=k<=1,且已经确定点亮的像素点P(Xp,Yp),则下一个点与直线最接近的像素只能是P1或者P2,即P点的正右方或者

2016-12-05 22:30:09 1269

原创 【Computer Graphics】1.直线生成算法(DDA 算法)

前言本人是计算机图形学的初学者,虽然说大学上了计算机图形学的课,但是只是半斤八两的程度,有的地方没懂也就算了,不会去思考,现在重新学一遍,有写的不好的地方,希望各路大神指教,本人一定改正。。好了,让我们先来了解一些概念1.图形的扫描转换图形的扫描转换:确定一个像素集合,用于显示一个图形的过程(ps:个人理解是图形变成一个个的像素点)2.图形显示前需要做的工作:扫描转换 +裁剪 裁剪也就是将不在

2016-12-03 21:28:30 3716

原创 【Unity Shader】3.Unity Shader基本知识学习(剔除 & 深度测试 )

1.剔除(Culling)的概念  对于实时交互的3D环境而言,现实的速度和效率是非常重要的。虽然现在的硬件能力非常的快,但是要想保持30FPS的同时处理数十万的三角形,还是有些困难的。     为了解决这种问题,人们提出了很多方法,其中有LOD,有Culling。这两种方法并不矛盾,而且我们往往需要在culling(剔除)的基础上再使用LOD进一步解决pipeline的负担。在此,博主也把L

2016-11-29 14:51:52 820

原创 【Unity Shader】2.Unity Shader基本知识学习(渲染序列 )

1.渲染序列所谓渲染序列也就是对象的绘制顺序。Unity允许我们控制一个特定对象绘制到屏幕上的顺序,因此我们可以更好地控制哪些对象应该覆盖在其他对象的上面。这个跟PS中的图层概念非常的相近。 那么渲染序列是怎么控制的呢?默认情况下,Unity会基于对象距离摄像机的远近来排序你的对象。因此,当一个对象离摄像机越近,它就会优先绘制在其他更远的对象上面。当然我们也可以自己控制渲染的顺序,主要是

2016-11-25 21:11:34 1730

原创 【Unity Shader】1.Unity的基本Shader框架学习(颜色,光照,材质)

首先说明,博主是一位Shader的初学者,在大学里也是菜鸟一枚,只是对游戏有着热情才开始学习Shader,若有写的不好地方,望各位见谅。。。哈哈哈,废话不多说,开始正题。O(∩_∩)O效果展示一、基本概念了解 1.学过计算机图形学的同学都知道,计算机图形学中的渲染管线一共有两种:1)固定功能渲染管线2)可编程渲染管线ps:渲染管线就是计算机绘制图形的过程: 局部坐标系->世界坐标系

2016-07-24 16:16:24 2739

空空如也

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

TA关注的人

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