- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 QT creator安装调试器
安装Windows SDKQT creator是没有自带的调试器的,所以点调试模式的时候就会出现‘Unable to create a debugger engine’问题, 我们需要另外安装调试器,首先下载Windows的SDK,安装勾选Debugging Tools for Windows,下载安装安装好之后在安装的目录下找到X64 Debuggers And Tools-x64_en...
2019-08-23 10:54:21
870
原创 GLSL 参考GIMP源码实现色彩平衡调节
这份代码参考了GIMP源码中色彩平衡调节的部分,GIMP源码里面是先生成一张通道值到阴影,中亮,高光的权重的映射GIMP计算权重的代码static voidcolor_balance_transfer_init (void){ gint i; for (i = 0; i < 256; i++) { static const gdouble a = 64,...
2019-08-12 17:58:37
1066
原创 Android Bitmap关于setPixel设置的值和getPixel获得的值不一样的问题
最近在写一个使用rgb颜色通道的逻辑,需要导出一张1*256的纹理,将每个通道的映射放在纹理上面,除了rgb三个通道之外还需要一个总的通道,这个通道可以用来调节亮度,于是把这个通道的映射放在Bitmap的a值里,坑的事情发生了,我发现使用这张纹理进行颜色查找的时候颜色整体变暗了,说明导出来的这张纹理是有问题的,经过Debug发现,使用Bitmap的setPixel设置的值,用getPixel获得的...
2019-08-01 18:13:52
1465
原创 Android Bitmap垂直翻转
因为用OpenGL ES的时候需要用到Bitmap翻转的操作,但是看了很多篇文章,都是用Canvas来进行翻转的,这对音视频处理很不友好啊,Canvas不支持不进行预乘处理的Bitmap,所以干脆直接暴力翻转 static Bitmap convert(Bitmap a, int width, int height) { int w = a.getWidth(); ...
2019-08-01 11:53:56
630
原创 调试颜色查找表解决纹理反转问题的骚操作
在写安卓的相机应用的时候,调试LookUp滤镜总是会因为读取资源啊什么的产生一些纹理翻转的很蛋疼的问题,为了定位一下采样原点,把相机镜头盖住就可以找到黑色的采样点在哪了,把镜头对着白色的墙就可以找到白色的采样点,这样就可以确定采样的左上角和右下角啦,然后就可以根据两个点的位置去翻转Bitmap了,我是不是很聪明啊(o(゚▽゚)o)...
2019-07-12 11:17:52
137
3
原创 从GPUImage里提取glsl文件的一个脚本
import reimport sysimport osrootdir = './'for parent,dirnames,filenames in os.walk(rootdir): for fileName in filenames: if '.java' in fileName and 'GPUImage' in fileName: print(fileName) ...
2019-07-02 18:03:32
297
原创 Android Camera预览
简介因工作原因要学习Android的Camera预览功能,这个DEMO有两个Activity,使用Camera库实现
2019-06-17 16:19:56
3382
原创 OpenGL + glm库实现四元数的旋转
最近在搭小引擎,在节点类里面弄了一个返回模型矩阵的方法,想实现旋转,用欧拉角的方式会发生万向节死锁,所以只好用四元数的方式实现,然而learnOpenGL里只提到了用欧拉角的旋转方法,只好去翻翻glm库的文档了使用四元数进行旋转需要用到几个库#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#i...
2019-04-14 19:02:58
8558
1
原创 在Visual Studio中使用.lib和.dll的环境搭建
动态链接库和静态库的区别动态链接库是在运行的时候被调用的,静态库在链接的时候被链接到最终生成的应用程序(.exe)中Visual Studio项目属性设置静态库依赖的配置第一种方法右键项目->属性->配置属性->VC++目录在库目录添加自己的lib文件所在的目录,比如说我的lib文件放在项目根目录下的external\lib目录下,那么就在库目录这里加上.\exte...
2019-04-10 12:23:10
656
原创 OpenGL学习笔记(6) 基础光照的计算方法
这个笔记只是漫反射光以及镜面光照的计算方式的笔记基础光照基础光照分为环境光,漫反射光,镜面光照环境光环境光是一个常量,表示在没有光源的情况下物体的光漫反射光漫反射光分量的计算方式将顶点的法向量标准化将片段到光源的方向向量标准化vec3 norm = normalize(Normal); vec3 lightDir = normalize(lightPos - FragPos);...
2019-04-09 09:55:42
319
原创 OpenGL学习笔记(4) GLM库的使用
OpenGL和DirextX不一样,没有内置的数学库,于是我们需要找一个第三方库,按照LearnOpenGL的教程我们使用GLM库,可以到他们的官网下载glm常用的数据类型vec2 二维向量vec3 三维向量vec4 四维向量mat2 二阶矩阵mat3 三阶矩阵mat4 四阶矩阵常用的函数glm::radians() 角度制转弧度制glm::translate() 创...
2019-03-28 10:27:33
4750
原创 OpenGL学习笔记(3) 纹理
关于纹理一般游戏里的物体不一定都是纯色的物体对吧,墙壁啊,木箱啊都不是单纯的纯色物体,上面会有一些图片贴在上面,比如墙壁,箱子,地板之类的,要把图片贴到计算机里的几何图形的话,就要把图片的颜色采样贴到几何图形上...
2019-03-25 16:11:35
269
原创 OpenGL学习笔记(2) 画一个正方形
画一个正方形其实,画正方形就是画两个三角形,用四个顶点以及使用索引来实现完整代码在Square项目的Application.cpp里先贴上窗口初始化代码void BaseInit(){ glfwInit();//初始化 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//配置GLFW glfwWindowHint(GLFW_CONTEXT...
2019-03-24 16:47:08
882
原创 OpenGL学习笔记(1) 画一个三角形
最近找实习各种不顺利,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊用OpenGL画一个三角形项目的简介记录一下跟着learnOpenGL学习的过程笔记里的代码放在github上,依赖的路径都用相对路径配好了,直接下载就能用,IDE是VS2017,代码使用的库是glad和glfw,感觉用glad和glfw开发OpenGL的方式和DX挺像的,也有可能是我见识少, ...
2019-03-23 21:53:04
1037
原创 Unity学习笔记(5):动态加载Prefab
第一种方法,从Resources文件夹读取PrefabAssets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载直接上代码GameObject Prefab = (GameObject)Resources.Load(&amp;amp;quot;Prefabs/&amp;amp;quot;, &amp;amp;quot;Character&amp;amp;
2018-10-07 17:26:01
9764
4
原创 Unity学习笔记(4): 碰撞相关API
Unity3D中的碰撞: 在unity中,有普通碰撞体Collider和触发器(Trigger)两种碰撞体,两个普通碰撞体会发生碰撞并产生力学现象,触发器则像是个无法触碰而又真实存在的东西,也会触发碰撞事件,但另一个物体会穿过它,碰撞发生的前提是两碰撞体有一方携带刚体(Rigidbody)组件。 物体对碰撞体进行处理的三个函数:void OnCollisionEnter(Collisi...
2018-09-21 20:14:09
944
原创 Unity学习笔记(3):一些常用API和应用场景
Mathf.Lerp(float a,float b,float t)插值函数,当a &amp;amp;lt; b时往a中插入t,以此来实现颜色,声音等渐变效果。GameObject.FindWithTag(string tag)通过标签得到实例化的对象,实现跨脚本操作对象控制物体旋转相关: Quaternion: 四元数void Rotating(float h, float v){ V...
2018-09-21 20:09:34
235
原创 Unity学习笔记(2): 如何使物体消失
Unity使物体消失的三种方法 1. GameObject.Destroy(gameobjcet); //破坏物体 2. gameObject.SetActive(false); //Unity2017新API,使用该方法设置物体是否存在于Hierarchy,active的新名称为activeSelf,无法直接修改,可以使用gameObject.activeInHierarchy()方...
2018-09-21 20:08:21
5247
原创 Unity学习笔记(1)
transform: transform是GameObject的一个默认的组件,其包含着该对象的几种属性,坐标(Position)以及旋转角度(Rotation)和尺寸(Scale)。 transform的子对象: transform.position 类型为Vector3,其值为该对象的世界坐标值 transform.localposition 类型为Vector3, 其值为以父对象的坐...
2018-09-21 20:04:06
112
原创 在Unity中使用带碰撞体的TiledMap
虽然最近Unity2018版本推出了自己的瓦片地图,但是这个瓦片地图有点BUG,在场景内把瓦片地图铺好做成预制体,动态生成的时候居然丢失了碰撞体,于是我决定还是使用Tiled软件绘制地图并使用Tiled2Unity插件导入项目Tiled下载地址Tiled2Unity下载地址给瓦片地图添加碰撞体打开一个已经画好的地图(画的丑别介意),现在我需要给树根加上碰撞体,防止角色走到上面去(角色的...
2018-09-18 19:36:20
5996
原创 Lua学习笔记(7): 模块
模块模块就像是c语言工程项目目录里的.h.c文件或外部依赖项,为某一个文件的代码提供依赖,其实就是把工作分成几个模块,方便项目的管理,提高开发效率和维护效率在Lua中,模块其实就是一个表,实现方式也很简单,定义表里面的数据或者方法,最后返回这个表即可测试代码:module.lua文件--module.lua_module.sentence = "我不做人了jojo"_module....
2018-09-17 22:06:31
117
原创 Lua学习笔记(6): 函数
Lua的函数函数用于简化程序,当某些工作需要重复执行的时候就可以使用函数减轻工作量(虽然复制粘贴也行)语法:function 函数名(参数列表) 函数体 return 返回值end --结束标志 function标识符用于声明函数,函数的返回值根据返回值的表达式而定,end作为函数声明的结束标志例子:--计算两个number的和function add(a, b) ret...
2018-09-17 19:53:56
140
原创 Lua学习笔记(5): 表
表的初始化方式 表的索引类型一般有两种,一种是通过标识符访问,一种是通过数字访问--通过标识符访问的表的初始化table1 = {key_1 = "haha", key_2 = "233", key_3 = 10}--通过数字作为索引的表的初始化table2 = {"haha", "233", 10}对于第一种类型,访问方式有
2018-09-17 16:41:12
112
原创 Lua学习笔记(4): 字符串
Lua的字符串有3种初始化方式str = "2333"str = 'hahahaha'str = [[ruarua]]其中单引号和双引号的初始化方式并无区别,[[]]双中括号这种声明方式比较特殊,在[[]]中的字符不会被转义,即转义符都会被解释称转义后的字符,如[[\n\n]]这个字符串print到控制台后就会出现\n\n,不会被转义意味着我们也不需要转义,即[["2233323...
2018-09-17 16:05:50
274
原创 Lua学习笔记(3):运算符
算术运算符 运算符 描述 + 加法运算符 - 减法运算符 * 乘法运算符 / 除法运算符 % 取模运算符 ^ 乘幂 A=3 print(A^2)输出9关系运算符 ~= 不等于 == 等于 &gt; 大于 &lt; 小于 &gt;= 大于等于 &gt;= 小于等于 逻辑运算符 and ...
2018-09-15 21:52:06
125
原创 Lua学习笔记(2): 流程控制与循环以及初涉迭代器
条件判断语句--if...语句if (表达式)then --表达式为1时执行的语句end--if...else语句if (表达式)then --表达式为1时执行的语句else --表达式为0时执行的语句end--if...elseif...else语句if (表达式1)then --表达式1为1时执行的语句elseif (...
2018-09-15 21:16:52
106
原创 Lua学习笔记(1): HelloWorld和数据类型
Lua是一个轻量级的脚本语言,由c语言编写,容易嵌入到应用中,深受游戏开发者的青睐 环境安装 选用SciTE作为lua的IDE 可以在github找到这个开源的软件 SciTE下载链接 安装好之后打开 环境搭建完成 HelloWorld File-&amp;amp;gt;New 创建一个新的文件test.lua 输入print(&amp;quot;HelloWorld&amp;quot;)点击蓝色的箭头运行 输出
2018-09-15 20:57:46
168
原创 在Unity中使用LitJson解析json文件
LitJson 这个库需要找资源,找到LitJson.dll后将它放在Assets文件夹下,在脚本中使用using引入即可测试代码 json文件: {“Archice”:[{“EXP”:700,”HP”:800,”Level”:4,”MapID”:2,”MissionCount”:0,”MissionID”:5,”ScriptSign”:”0000001111”}]}这个Js...
2018-09-02 16:46:11
1479
原创 如何在unity中使用龙骨动画
龙骨 龙骨是Egret公司的一个用来做动画的软件,本文分享一下如何在Unity2D中使用龙骨导出的2D动画 导出动画 在龙骨中文件->导出,导出动画数据和纹理到Unity的项目中,如果打包了的话就在Unity的项目的目录下解压,解压后我们可以看到3个文件 Animation_ske.json(骨骼配置) Animation_tke.json (图集配置) Animation_...
2018-08-31 20:33:41
15609
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人