- 博客(227)
- 资源 (13)
- 收藏
- 关注

原创 Electron 项目实战 03: 实现一个截图功能
虽然实现了核心功能,但是仅支持主屏幕截图,不支持多屏幕截图,同时还遗留诸多问题,后面单独一篇更新解决传送门。
2024-08-29 09:43:33
2479
1

原创 Nuxt 项目实战 - 16:利用CDN+OSS给网站全面提速
CDN加速可以明显提高网站访问速度,减少服务器带宽压力,提高用户体验为了提高网站访问速度,提升用户体验,大家赶快去试试吧~ 😄。
2024-08-29 09:18:36
1464

原创 Nuxt 项目实战 - 15:自定义unocss规则,让编写样式更高效
看到这个你发现问题了,由于我们颜色变量引用的是16进制颜色值,然后rgba的参数是4个,而且是用逗号隔开。可能你会想编译后改样式,类似webpack的css loader一样,但是我们会失去unocss的提示,在开发的时候还是很不方便。如果你有兴趣,欢迎加入你的加入,一起完善这个工具。,可以帮你一键将markdown发布至多平台,方便大家更好的传播知识和分享你的经验。说明:你可能会想到改unocss的规则,那么我们来试下。完美实现我们想要的效果,这样就可以更开心的写样式了。最近我开源了一个文章助手。
2024-08-28 09:10:47
1054

原创 Nuxt 入门实战 - 05:特性
说明:会先加载parent组件,然后通过parent再嵌套载入reload-[id].vue 组件,会将reload-后面的参数动态传给reload-[id].vue 组件。说明:根目录创建error.vue,出错就会跳转至此页面,错误消息通过defindPros 中的error.message拿到。进入other路由器,会先执行middleware/other.ts 中间件。最终nuxt.config.ts 和app.config.ts 都会对应合并。配置nuxt.config.ts 添加对应模块。
2024-08-27 18:14:10
997

原创 分享给明星开源项目Nuxt,提交人生的第一个PR全过程
提交issue时要提供最小复现代码,方便维护者快速定位问题给明星项目提PR不容易,会有很多的限制,要求也会更高,所以要有耐心,不要放弃有问题就要去调试,找到问题的根源,然后解决问题解决一个问题时要思考更好、更合理的解决方法,而不是只解决当前问题大项目无从下手时,看CI的执行过程来了解项目的执行命令(文档虽然可以,但是有时会出现更新不及时的问题)
2024-08-26 17:29:08
1894

原创 喜欢写作的朋友们,好消息来啦!用artipub一键自动将文章发布至更多平台,让你的创作之旅更加畅快吧!
Artipub 是什么 ArtiPub(文章发布助手)是一个旨在简化内容创作者跨平台发布文章过程的工具库。它提供了一套简单的API,可以让你轻松地将文章发布到任意平台,如博客、Notion、Dev.to等
2024-08-19 10:02:13
986

原创 Unity5.x 资源打包和加载
相关网站:介绍Unity5的AssetBundle:http://liweizhaolili.blog.163.com/blog/static/16230744201541410275298/ Unity5 如何做资源管理和增量更新http://blog.youkuaiyun.com/ring0hx/article/details/46376709AssetBundle打包和加载示例:http://www.s
2016-04-27 11:27:26
2624

原创 Java异常处理-原则
1.Try-Catch 匹配出现,资源回收、清理请带上Finally2.异常处理重要原则:只有在你知道如何处理的情况才捕获异常,否则就往上抛出异常3.异常处理目标:把错误处理代码同错误发生的地点分离4.只能忽略RuntimeException(及其子类)类型异常,其他类型异常的处理都是有编译器强制实施的。5.作弊法,方便以后代码健全处理。方法声明抛出异常,实际却不抛出异常。abstract cla
2016-04-12 17:26:56
1896

原创 程序员修炼之道-书评
--------------------------------------------------------------------------------------------------------第一章 注重实效的哲学:--------------------------------------------------------------------------------
2016-04-10 11:20:08
4547
1

原创 Cg入门27:Fragment shader – 程序纹理水波仿真
效果:Quad和Cube 波纹起始点为啥不一样了,返回都是[-0.5,0.5],坐标中心为模型中心。原因:估计模型网格数据的UV起始点是不一样的优化方案说明:由1-3逐渐增加,1和2配套使用优化方案1:开启单独线程,进行uv水波纹理计算源代码:Shader "Sbin/WaveAnimShader"{ Properties { _MainTex ("Texture", 2D) = "wh
2016-03-23 17:44:19
2698
1

原创 Cg入门26:Fragment shader –纹理混合动画
多张纹理混合,太多天空盒6张贴图 会动的星空效果湖面会动的星空效果只输出制定颜色通道colormask r //只准许输出红色 源代码:Shader "Sbin/BlendTexAnimShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _SecondTex ("Texture", 2D) = "white" {}
2016-03-23 17:40:44
2051

原创 Cg入门25: Fragment shader – UV动画(模糊)
疑问:偏导函数是什么?物理意义和几何意义?ddx():为x轴的偏导函数ddy():为y轴的偏导函数源代码:Shader "Sbin/FragmentAnimShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma verte
2016-03-23 17:33:12
2200

原创 Cg入门24: Fragment shader – UV动画(波纹)
效果:源代码:Shader "Sbin/FragmentAnimShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _F("F",Range(1,30))=10 _A("A",Range(0,0.1))=0.01 _R("R",Range(0,1))=0 } SubShader { Pass {
2016-03-23 17:30:06
2633

原创 Cg入门23: Fragment shader – UV动画(序列帧)
让动画从1-9循环播放此纹理源代码:Shader "Sbin/FragmentAnim"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #inclu
2016-03-23 17:27:53
2412

原创 Cg入门22:Fragment shader - 2D纹理采样(光照贴图制作和使用)
一、光照贴图制作:实时光照效果:使用光照贴图步骤:1.选择要灯光贴图的模型,然后设置为Lightmap Static2.光源Baking设置为Baked3.选择Windows/Lighting,打开Lighting界面,1》选择Scene 选项卡,设置Ambient Gi为Baked2》选择LightMaps 选项卡,然后按Build,生成光照贴图数秒后LightMaps界面会显示光照贴图,效果如
2016-03-23 17:14:45
6245

原创 Cg入门21:Fragment shader - 2D纹理采样
体纹理:是啥?tex2D 以前只能在Fragment程序中纹理采样UV坐标系:其实点为左下角,范围为【0,1】,U为x轴,V为y轴Texture.wrapMode 循环模式:TextureWrapMode.Clamp:设置纹理充满拉伸使用TextureWrapMode.Repeat:纹理重复平铺使用如果采用Repeat,那么等于U>=1的情况就会用纹理图在右边在平铺一张图Texture.filte
2016-03-23 17:07:24
2621

原创 Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)
Unity 一个面片的最大顶点数为65524,所以大于这个数,请拆分成多个面片1.获取汽车x轴的最大值和最小值[-2.5,2.5]+RsurfaceShader 语法surf :surface shader的方法名vert :使用顶点程序方法名surface shader 方法不能有返回值源代码:Shader "Sbin/SurfaceShader" { Properties { _Glos
2016-03-23 17:02:56
2683

原创 Cg入门19:Fragment shader - 片段级模型动态变色
y值要表示范围为[-0.5,0.5],所以语义要注意不要用Color(注意:Color 语义值范围为[0,1] )(特别注意:内建的cube范围才是【-0.5,0.5】,其他模型就不一定是这个值了噢)发现顶部没有融合掉,为了全部融合掉。我们将_Center范围+R的大小,就全部融合了效果如下:优化:去掉if else,因为if else 可能在其他硬件上不能执行。代码:Shader "Sbin/v
2016-03-23 17:00:12
1752

原创 Cg入门18:Fragment shader - 边缘泛光和透明
泛光:处理后效果:透明:1.tags{"queue" = "transparent” } //调整渲染顺序2.blend srcAlpha oneMinussrcalpha //混合透明3. zwrite off //写入的z轴深度关掉关掉z轴深度与不关掉的区别:代码:Shader "Sbin/trans" { Properties {
2016-03-23 16:55:44
2729

原创 Cg入门17:Fragment shader - 片段级光照(添加阴影)
投射阴影方法一:添加一个单独的pass通道pass{ Tags{"LightMode" = "ShadowCaster"}}ShadowCaster:阴影投射器,可以投射阴影方法二:添加物体默认阴影投射FallBack "Diffuse"然后给光线开启阴影:效果如下:(效果图为添加平行光)如果要让我们的shader支持点光源阴影投射,就添加 FallBack "Diffuse"添加点光源后
2016-03-23 16:37:30
3073

原创 Cg入门16:Fragment shader - 片段级光照
将顶点程序实现漫反射放至片段程序后处理效果如下:看到和左边内建实现的漫反射一样了片段程序特点:1.采用三角面的形式渲染,而顶点程序是按顶点形式渲染注意事项:直接将计算好的顶点法线向量和光向量 直接传给片段程序使用效果如下:为啥不一样呢?顶点程序:1.按顶点计算,一个顶点一个顶点处理程序片段程序:1.先进行光栅化,把面片分割成三角形,2.一个片段程序,可以看成一个一个像素处理原因:1.由于面片程序,
2016-03-23 16:32:55
1600

原创 Cg入门15:Vertex Shader - 几何变换 —波
Shader "Sbin/vf36" { SubShader { pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct v2f{ float4 pos : POSITION; float4 col : COLOR
2016-03-23 16:26:44
1676

原创 Cg入门14:Vertex Shader - 几何变换 —顶点扭曲
mul (UNITY_MATRIX_MVP,upPos):参数说明由第一个参数UNITY_MATRIX_MVP 矩阵去影响第二个参数upPos向量(或者矩阵)Shader "Sbin/vf35" { SubShader { pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag #include "U
2016-03-23 16:25:02
1893

原创 Cg入门13: Vertex Shader - 几何变换 —顶点位移
注意:向量进行计算的时候,不仅代表大小,还代表方向。记得代表方向有利于队变换计算的理解效果如下:
2016-03-23 16:21:45
1880

原创 Cg入门12:Vertex Shader - 几何变换 —顶点颜色变换
顶点颜色值获得物体坐标值范围:注意:取顶点数据最好用原始数据,v的vertex,虽然o.pos 也可以,但是是矩阵变换后的位置信息效果:由效果得出:物体坐标系,起始点为物体中心,范围为[-0.5,0.5]_SinTime:就是一个时间分向量,从[-1,1]的范围。顶点颜色值获得屏幕坐标值范围:由效果得出:屏幕坐标系,起始点屏幕左下角,范围为[-1,1]为什么没有产生颜色渐变,那是因为cube的顶点
2016-03-23 16:20:15
1913

原创 Cg入门11:Vertex Shader - 几何变换 —MVP矩阵变换(旋转、缩放)
旋转、缩放demoC# Code:Shader Code:
2016-03-23 16:17:11
2413

原创 Cg入门10:Vertex Shader - 几何变换 —MVP矩阵变换
Unity内建矩阵类型:M:世界矩阵V:摄像机矩阵P:投影矩阵T :矩阵的转置IT : 转置的的逆_Object2World: 模型到世界矩阵_World2Object:世界到模型矩阵MVP 矩阵变换:Shader DemoMVP 转置变换:C# demoMatrix4x4 mvp = Camera.main .projectionMatrix * Camera.main .worldToCame
2016-03-23 16:15:52
4110

原创 Cg入门9:Vertex Shader - Uniform 与 properties属性
_AppSetColor 声明处:可以在float4 _AppSetColor前面加Uniform ,或者不加都可以(注意:加的话好像,需要unity 5以上的版本)C# 代码
2016-03-23 16:13:38
1947

原创 Cg入门7: Vertex Shader - 顶点数据的输入与输出
函数输出类型格式:类型 function(参数):语义注意:输入和输出同种类型语义,只能有一种,否则会报错TEXCOORD0:纹理坐标类型
2016-03-23 15:05:53
1678

原创 Cg 入门5:函数1
知识点:1.定制函数2.函数前向声明3.函数的传参4.Cg inClude注意事项:1.函数参数: 所有类型都是是传值传递2.函数数组参数:必须指定其维度代码和数据结构做成共用,然后includecube:从左下角开始,坐标x、y的范围都为 [-0.5,05]
2016-03-23 15:02:34
1515

原创 Cg入门4:流程控制
知识点:1.If...else2.while3.Do...while4.forif-else,while,Do-while,for :与C语言语法一样switch/case : 不支持模型x,y 值范围:【-0.5,0.5】 起始位置为模型左下角注意:while、Do-while、for :循环上线为1024,只能循环1023此
2016-03-23 14:57:53
1419

原创 Cg入门3:数据类型和swizzle操作
知识点:1.向量2.Swizzle操作3.矩阵4.数组5.结构体结构体定义:结构体使用:比如:float4 f3=float4(0,1,1) ; swizzle:使用“.”来取值操作。可以用xyzw,也可以用rgba,但是xyzw和rgba不能同时使用。如:f3.xyrg 这样就错了特性1:利用swizzle取f3中的y值f3.y特性2:如果是取x,y 那么就是f3.xy特性3:如果想用f3
2016-03-23 14:55:30
2293

原创 Cg入门2:profile和基本数据类型
float :一个浮点值float4:一个四阶向量half:一个浮点值的一半fixed:bool: 0 和 非0int: 其实也是按照float还计算的Sampler*:值传递不支持指针支持数组int 有符号全部静态变量没有逻辑运算符+?:可使用支持interface支持宏
2016-03-23 14:52:12
1619

原创 Cg入门1:输入输出和语义
知识点:1.顶点和片段程序的输入输出2.常用语义3.编写一个简单的Shader输入用:in输出用:out即使输入也是输出用:inoutCG语法:CGPROGRAM 开始标识ENDCG 结束标识objPos:语义 语义关键字必须为全大写字母组成(objpos:POSITION 语义:objpos表示一个位置向量),语义只是代表一种运行环境inout:表示可以把输入直接当成输出返回(顶点颜色输出c
2016-03-23 14:45:20
2599

原创 App发布AppStore【苹果开发者中心需要做的事】
请准许我的这句抱怨,也说明发布app到iAppStore知道理清这些东西的重要性:起初打包出现各种ApplicationVerificationFailed,不是这里没有搞对就是那个证书没有搞对,整个人签名啊证书啊搞混头了,其实搞懂了也就那几个东西,也不会出什么错。我这里就简单地说下从最开始到发布应用所需要在此获取的那些配置文件,先看下图:这里简单地列一下步骤点第一步:如果在你的机器上需要开发和发
2015-01-22 18:37:08
7481

原创 java中Array/List/Map/Object与Json互相转换详解
JSON(JavaScript Object Notation): 是一种轻量级的数据交换格式一、JSON建构有两种结构:对象和数组1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以
2013-02-18 11:25:40
86551
1
CCMenuItem工程源码
2012-10-25
CCSprite基本处理和动画工程
2012-10-25
Cocos2d-x初入学堂-->CCSprite基本处理(2)工程
2012-10-24
J2ME手机游戏贪吃蛇小游戏
2011-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人