自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liuyizhou95的博客

成功多在困苦时 败事起于忘形日

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 渲染概念:1.引擎二三事

文章目录引擎与图形学常说的引擎指什么?游戏引擎渲染引擎引擎与图形学图形学一般最开始先了解的是图形API,Opengl、DX以及Metal和最新的Vulkan。而我们常说的引擎,是一个庞大的软件,通过精妙的上层架构,诠释真实世界中的物体层级关系、属性,厘清这些物体关系之后,将数据送给底层图形API完成最终的呈现。PS:关于这一点,因为在一个实际商用游戏的制作或者图形渲染中,不只是简简单单一...

2019-09-03 19:22:56 449

原创 6.OpenglES——类抖音动态图像效果(闪屏、通道分离等)

参考文章目录效果图开发分析基本思路代码分析shader代码书写本文的初衷是为了自我学习承接上一篇文章效果图目前只引入两个效果,后期加入新效果通道分离闪屏开发分析基本思路代码与之前一样,只不过是传入time变量,模拟时间,这样根据时间的不同,对图像进行动态的变换。代码分析shader代码如何搭建openGLES的环境,并将图片传入shader不在赘述,可自行下载,这里直...

2019-05-07 15:44:16 973

原创 5.OpenglES——简单的滤镜

参考文章目录效果图开发分析基本思路代码分析shader代码书写本文的初衷是为了自我学习效果图开发分析基本思路思路相对来说比较简单,首先拿到一张图片,传入shader中,然后在shader中对这张图片进行处理。代码分析shader代码如何搭建openGLES的环境,并将图片传入shader不在赘述,可自行下载,这里直接贴出shader代码。这里将一个个滤镜效果分为一个个方法,...

2019-05-07 14:34:18 682

原创 4.OpenglES——自定义GLSurfaceView

参考:自定义GLSurfaceViewGLSurfaceView的简单分析及巧妙借用书写本文的初衷是为了自我学习关于GLSurfaceViewGLSurfaceView继承了SurfaceView,实现了SurfaceHolder.Callback2接口。SurfaceView在View的基础上是创建了独立的Surface,拥有SurfaceHolder来管理它的Surface,渲染的工...

2019-04-26 14:41:30 1242

原创 3.OpenglES——EGL环境的创建

参考:Android EGLAndroid EGL接口解析khronos官方文档OpenGL ES 深入 OpenGLES - EGL环境搭建书写本文的初衷是为了自我学习何为EGL?首先Android官方的解释:OpenGL ES 定义了一个渲染图形的 API,但没有定义窗口系统。为了让 GLES 能够适合各种平台,GLES 将与知道如何通过操作系统创建和访问窗口的库结合使用。用于...

2019-04-26 14:37:38 2800

原创 2.OpenglES——Surface、SurfaceView、SurfaceHolder

参考:Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系书写本文的初衷是为了自我学习SurfaceSurface就是“表面”的意思。在SDK的文档中,对Surface的描写叙述是这种:“Handle...

2019-04-26 12:25:29 1072

原创 1.OpenGLES——FBO方式的离屏渲染

参考https://blog.csdn.net/u011371324/article/details/78011211书写本文的初衷是为了自我学习出现背景 明确两个概念 窗口系统默认帧缓冲 应用程序帧缓冲 FBO(frame buffer object),帧缓冲区对象,在Android中,绘制三角形一般都是直接重写GLSurfaceVi...

2019-04-13 10:55:43 5247

原创 1.Rajawali的渲染流程

书写博客的初衷是为了自我总结Rajawali是一个Android下封装了OpenglES API的引擎网上关于这个引擎的介绍非常稀少,下面就自己的理解谈一下这个引擎的渲染的简单流程如下是引擎的工程架构:目前只看稍微深入看完了Scene 、View、renderer、scenegraph就目前的理解,渲染流程如下...

2019-04-09 11:54:03 923

转载 Java3:Java中Collection和Collections的区别

转自:Java中Collection和Collections的区别 Java之集合框架图及 Collection和Collections的区别及用法总结 转载文章主要做自我保存学习用Collection1、java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Colle...

2019-03-12 20:29:21 844

原创 Shader之旅6:二维画面的UV旋转

书写本文的初衷是为了自我反省记录。如有表达不当,请批评指正首先放上在shadertoy上的效果,右图是未旋转的时候的样子,左图是旋转45°之后,第三个图是因为纵横比不一样,导致了错切void mainImage(out vec4 fragcolor,in vec2 fragCoord){ vec2 uv = fragCoord.xy / iResolution.xy;...

2019-03-06 15:39:56 1405

原创 Shader之旅5:类似抖音闪动放大效果

书写本文的初衷是为了自我反省记录。如有表达不当,请批评指正各种相机上有类似如下效果公司也要做这样的转场效果,GIF太模糊了,凑合看吧,就是画面放大原理很简单,就是首先在底部固定一个UV,然后盖上两层UV,让着上层的UV不断放大,然后和底层的UV mix即可。void mainImage(out vec4 fragcolor,in vec2 fragCoord){ ve...

2019-03-05 19:13:12 1730

转载 Java 2:泛型的上下界通配符

文章转自:<? extends T>和<? super T> http://www.cnblogs.com/coprince/p/8603492.html该作者应该是转自:Java泛型中extends和super的区别?另,问题来源:Java 泛型 <? super T> 中 super 怎么 理解?与 extend...

2019-03-01 15:06:35 157

转载 Java 1:java 泛型详解

文章转自:java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一 https://blog.csdn.net/s10461/article/details/53941091文章转载为了自我学习与收藏对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Jav...

2019-03-01 11:52:10 139

原创 读书思考2:分析各类社交APP无法撼动微信、QQ地位

人是群居性动物,但在现在这个社会,人变得越来越独立,交通工具的发达,网络的发达,促使人们越来越想着踏足远方,人是陌生人。这是人的本能,人进化为人,好奇心,行动力,沟通力都在进化法则中起到了作用。好奇,想要认识更多人,QQ很早就出现了,在不断地发展中,影响了一大批人,最早的网友见面,到现在的线下交流会,网络奔现结婚。70,80,90都受到了QQ的影响,而QQ各种各样的个性化展示越来越多,早期...

2019-01-17 11:31:02 312

原创 Shader之旅4:outline edge 描边效果

书写本文的初衷是为了自我反省记录。如有表达不当,请批评指正在shadertoy上看到了物体的描边效果,感觉效果不错,拿来学习一下,先贴出代码,然后分析float d;float lookup(vec2 p, float dx, float dy){ vec2 uv = (p.xy + vec2(dx * d, dy * d)) / iResolution.xy; ve...

2019-01-14 12:20:22 1345 1

原创 面试思考1:面试所需准备的东西

作为95后,18年应届毕业生。找工作期间,大大小小面试了20多家公司,在不断面试,总结的过程中。1.规模较小的公司:更注重项目经验,往往需要一人身兼多职,能够直接上手项目,相对来说在面试过程中,基础的算法,数据结构较少提及。2.规模很大的公司:这类公司体制已经比较健全。时下的兴技术、基础算法、数据结构会大面积在面试中遇到,基本上也都会做一套面试题。二面、三面也都可能。3.规模小,但...

2019-01-09 10:39:26 185

原创 读书思考1:习得性无助

习得性无助:是指通过学习形成的一种对现实的失望和无可奈何的行为、心理状态。习得性无助是人的一种非常常见的心理状态。可以说是无孔不入,天灾人祸、非正常的遭遇等等,诸如此类的事情。概况起来就是,发生了完全脱离自身能力所掌控的的事情,自身产生无助感、恐惧感、失落感。很多人会定期出现失落难过的情绪,或者感觉最近一段时间各种不好的事情,负面的事情发生,当达到一个临界点,超过自己所能掌控的范围,就...

2019-01-08 15:27:22 607

原创 算法学习: Z 字形变换(c++)leetcode 6

leetcode 6: Z 字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"...

2019-01-03 15:00:54 1715

原创 算法学习:最长回文子串(c++)leetcode 5

 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"本文一共说明两重方法:中心扩展算法和动态规划算法根据官方题解中的提示,有这样一种方法,并给出了Java代码示例1.中心扩展算...

2019-01-02 11:38:16 690

原创 Shader之旅3:通道分离+抖动

书写本文的初衷是为了自我反省记录。如有表达不当,请批评指正 抖音上有类似的故障效果的拍摄特效。其实就是利用通道分离,并将画面进行震荡,产生类似的效果。如下效果。这是我写在shader上的效果uniform float time;float rand(float co) { return fract(sin(dot(co,12.9898+78.233)) * 43...

2018-12-31 23:27:22 1049

原创 算法学习:两数之和(c++)leetcode 3

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法1:哈希表法c++中ma...

2018-11-26 18:24:18 479 1

原创 Shader之旅2:四宫格画面实现

书写本文的初衷是为了自我反省记录。如有表达不当,请批评指正首先贴出shader代码。这段代码是实现相机拍摄画面四宫格的实现。分别传入不同的channel 0 1 2 3。然后将UV进行切割分为四块填入四个channeluniform float selected_ratio;uniform float selected;#include "res/shaders/BlendMod...

2018-10-31 12:07:46 1266

原创 Shader之旅1:RGB颜色空间转换HSV颜色空间 RGB2HSV算法

书写本文的初衷是为了自我反省记录。如有表达不当,请批评指正首先贴出代码。这段代码是在公司看韩国那边的团队写在shader中的。乍一看非常蒙圈vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.x...

2018-10-29 11:03:51 8364 2

原创 C++:多态与纯虚函数、虚函数

问题参考:1.什么是多态?为什么用多态?有什么好处?多态在什么地方用?——https://www.cnblogs.com/hai-ping/articles/2807750.html                       2.虚函数与纯虚函数的区别——https://blog.csdn.net/hackbuteer1/article/details/7558868本文的初衷不是为了分...

2018-09-06 11:36:02 3367

原创 反思任务:Java中方法参数中...是什么意思

反思的初衷不是为了分享只是自我学习表示的传入的参数可以随意,你传多少个参数都被放到一个数组里面。举个例子 写一个测试方法public static void sumArr(int... arr){ for (int i : arr) { System.out.print(i + "+"); }}public static void main(St...

2018-09-03 15:01:09 1543

原创 反思任务:Java堆和栈的区别

问题参考:1.堆和栈的概念和区别——https://blog.csdn.net/pt666/article/details/70876410/                  2.浅谈堆和栈的区别——https://www.cnblogs.com/mysticCoder/p/4921724.html                  3.数据结构和内存中堆和栈的区别——https://b...

2018-08-31 15:52:22 845

原创 反思任务:接口的概念,接口用来处理什么?接口与抽象类的区别

问题参考:1.百度百科 抽象类——https://baike.baidu.com/item/%E6%8A%BD%E8%B1%A1%E7%B1%BB/4748292                  2.浅谈Java的接口的作用和意义——https://baijiahao.baidu.com/s?id=1595511474536870490&wfr=spider&for=pc...

2018-08-31 13:30:35 293

转载 反思任务:二十三种设计模式的学习

原文地址:http://blog.csdn.net/zhangerqing转发地址:[设计模式]二十三种设计模式——https://blog.csdn.net/qq3965470/article/details/52167228原文地址:http://blog.csdn.net/zhangerqing 问题参考:23种设计模式类图总结——https://blog.csdn.net/...

2018-08-30 19:51:09 526

原创 反思任务:进程与线程

问题参考:1.进程和线程的区别——https://blog.csdn.net/zhou753099943/article/details/51771220                  2.进程和线程的区别?什么时候用进程?什么时候用线程?——                                                                    http...

2018-08-29 16:49:39 275

原创 反思任务:面向对象的核心思想,三大特性以及面向过程的区别

问题参考:1.面向对象思想及核心—— https://blog.csdn.net/wofangfan/article/details/5925435                  2.第一章 面向对象思想的核心概念——http://www.cnblogs.com/xxlleworld/p/5742809.html                  3.面向对象和面向过程的区别——htt...

2018-08-29 11:23:46 5745

转载 转载:理解 VSync

转载自:https://blog.csdn.net/zhaizu/article/details/51882768转载本文的意义在于自我收藏与反思:SwapChain这个东西与Vsync的关系?Vysnc是帧同步信号前言 帧率 vs 屏幕刷新频率 帧率 屏幕刷新频率 VSync 是啥 VSync 有啥作用 单缓存 双重缓存Double Buffer 三重缓存Tri...

2018-08-23 10:38:33 4736 1

转载 转载:Simplex Noise (三)

本文转载自:https://blog.csdn.net/yolon3000/article/details/78369602一、3D Simplex Noise  在学习完2D Simplex 噪声之后,3D Simplex噪声实现就很简单了,按照之前学习的,我们还是按照分步的方法来实现3D Simplex 噪声。(一)、坐标变换(Coordinate skewing)。  根据变...

2018-08-22 15:42:30 494

转载 转载:Simplex Noise(二)

本文转载自:https://blog.cs一、2D Simplex Noise  这次我们不打算从1D做起而是直接从2D Simplex Noise做起,不是因为Simplex Noise不能实现1D噪声,而是应用中2D、3D、4D用得更多一些。从前面的学习中,我们将Simplex Noise生成算法分成四个步骤,本文将继续采用这种分步实现的模式。(一)、坐标变换(Coordinate...

2018-08-22 15:40:39 424

转载 转载:Simplex Noise(一)

本文转载自:https://blog.csdn.net/yolon3000/article/details/78106203一、Simplex Noise优势   通过前面我们的学习,知道Perlin噪声的算法复杂度为O(2^n),生成噪声维度越高,计算复杂性增长越快,同时,在实现时对Permutation表的操作也越复杂,插值运算也越多,代码操作时难度也越来越大。正是因为如此,2001年...

2018-08-22 15:34:58 928

原创 【由浅入深OpenGL】一:Visual Studio下搭建OpenGL开发环境

万事开头难!理论与实践结合才能产生价值,很多人学习OpengGL碰到的第一件事情就是配置环境首先需要下载GLFW 与GLEW包,建议都下载32位的http://www.glfw.org/http://glew.sourceforge.net/1.首先打开Visual Studio创建项目工程,现在很多时候如果我们选择创建控制台程序就会生成stdafx.文件等比较不必要的东西,所以我们直接创建一个空...

2018-06-27 16:15:33 3010 2

原创 【由浅入深OpenGL】二:创建GLFW窗口

上一篇已经介绍了OpenGL在Visual studio中项目的搭建。在windows平台编写东西,最重要的是窗口化啊,不然谁知道编了什么鬼?参考很多网上大牛的demo,例子,最终形成这么一个自己的产生窗口的代码,先上结果,就是这么一个背景为深墨绿色的窗口值得强调的是:此段代码前两句是指定使用OPENGL版本为3.3,不能说有错误,但是后来发现,这几句代码实际上限制死了程序使用OpenGL 3.2...

2018-06-27 16:15:13 3407

原创 【OpenGL ES渲染管线】一:2.0 OpenGL ES渲染管线流程图

学习OpenGL最重要就是学会这学会套渲染管线的流程了网上各种学习博客文章数不胜数,但是总感觉对于初学者来说很难将其串起来,对整个渲染的流程没有整体的了解。以下是本人根据个人总结绘制的2.0管线...

2018-05-08 18:50:58 1196

原创 Rajawali-天空盒的使用

距离上一篇rajawali初探过去很久了,一直没有更过,直接进入正题与很多引擎一样,rajawali给天空盒的运用封装了一层api,直接调用即可首先我们需要明确rajawali的使用:activity 、surface、 render是必须要有的在render中我们要继承RajawaliRenderer并重写initScene方法,基本上所有的3D场景中的东西都在这个方法中实现这里我们在场景中创建...

2018-03-16 10:01:24 639

原创 Rajawali初探

作者18年6月毕业,写这个的时候还是个实习生,在学长的建议下,开始搞搞Rajawali,网上翻阅各种文献、资料,少之又少,想图省事,直接用别人的项目看看结构学习,无奈还是从头开始1.Github上下载了Rajawali项目,导入Android Studio运行成功https://github.com/Rajawali/Rajawali结果如图所示 2.完成之后打算先自己攒一个项目出来,由于Raja...

2018-02-27 19:39:01 2688 1

原创 OpenGLes学习之路(一)————opengles内部执行顺序(1)

公认OpenGLes是入门很难,难在哪里,我认为,初学时过分追求对于OpenGLes本身API的学习,而忽视了其只是作为一种3D渲染的手段工具,就像我们学汽车一样,我们首先是会开了汽车,然后逐渐了解汽车的内部构造。而不是先去了解构造,然后再去学车,这样会打消积极性。初学OpenGLes最难得恐怕就是其内部的执行调用顺序了初始建立一个OpenGLes的文件,只有一个act

2016-08-05 16:44:15 834

Rajawali-天空盒

最基本的rajawali引擎的使用,适合初学者研究,场景中仅仅包含一个地球与一个天空盒

2018-03-16

空空如也

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

TA关注的人

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