自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (9)
  • 收藏
  • 关注

原创 filament中systrace的使用

systrace是android提供性能检测工具,介绍和用法参考https://blog.csdn.net/vicwudi/article/details/100191529。这里主要记录filament渲染引擎底层使用systrace进行检测的用法。filament/libs/utils/include/utils/Systrace.h中定义了systrace 的宏用法。SYSTRACE_ENABLE,启用systrace功能;SYSTRACE_DISABLE禁用systrace功能。...

2021-02-22 15:55:04 280

原创 2021-01-07

HDR效果就是超亮的光照与超暗的黑暗的某种结合,这个效果是光照产生的,强度、颜色等方面是游戏程序可动态控制的;bloom效果则是物体本身发出的光照,仅仅是将光照范围调高到过饱和,是游戏程序无法动态控制的。HDR特效是这样:bloom特效左:实现方式:1.渲染场景高亮部分,阈值颜色为02.步骤1生成的图形高斯模糊3.生成场景图片和步骤2图片加权融合。...

2021-01-07 11:26:25 152

原创 Gamma空间精简讲解

在查找相关资料的过程中,看到了很多人争论,出现Gamma Correction到底是人对自然亮度的感知原因,还是由于早期的 CRT 显示器存在非线性输出的问题。在研究了一些Gamma Correction资料后,个人认为早期Gamma Correction的出现是由于原来的 CRT 显示器存在非线性输出的问题,而在显示器完全可以解决非线性输出的问题的今天,Gamma Correction的存在更多的是由于人对自然亮度的感知。人眼对环境光的不是随着光的强度线性增加的,越暗的地方,变化感受越明显,设1为白色

2021-01-07 11:24:20 698 1

原创 Filament在C++中创建渲简单染体

为查找新引擎锯齿严重的问题,在C++端重写了简单DEMO,摸索阶段有点费事,记录下,以免后续需要。int floatSize = 4;int shortSize = 2;int vertexCount = 4;int byteStride = 7*4;auto vertexBuffer = VertexBuffer::Builder().vertexCount(vertexCount).bufferCount(1).attribute(VertexAttribute::POSITION,

2021-01-07 11:21:35 475

原创 配置SSH

设置用户名和密码: git config --globaluser.name"xxx" git config --global user.email "[email protected]" 配置ssh,不每次输入密码 首先,命令行输入 cd ~/.ssh ,如果有.pub文件 rm -rf *删除,没有不用处理。 然后ssh-keygen -t rsa -C "[email protected],后续全部按enter,包括输入密码部分。 最后vim ~/.ssh/id_rsa.pub,复制到git中的ssh中..

2021-01-07 11:19:04 161

原创 Jni学习(六)-------vector和jbyteArray转

vector转jbyteArray:std::vector<byte> ins = ((CIAILogic*)addr)->getReuestMahsIns(); int size = ins.size(); jbyteArray jarray = env->NewByteArray(size); jbyte *jnum = new jbyte[size]...

2020-04-15 10:47:42 2213 1

原创 JNI使用(五)-------JAVA(IDEA)使用调用DLL注意事项

以前基于JNI使用C++的项目,都是安卓项目,jni和C++源码部分通过androidstudio提供的cmakelist直接编译使用。这次项目是使用IDEA的JAVA服务端项目(IDEA使用起来跟androidstudio一样比eclipse舒服多了,,外行浅见),有几点不同点记录一下。1.使用VS生成dll的过程中,java和c++的桥接代码部分,也就是根据javah生成的文件,...

2020-04-15 09:48:53 2250

原创 jni使用(四)-----IDEA中javah生成.h文件

好久不写JNI,再写的时候最简单的生成.h折腾十几分钟,记录一下这些最基本的操作。免得后面再用又忘记,在idea编译生成.class 文件后在项目\src\在或者项目\bin\classe\下执行 javah 包名.类名的命令如下:javah com.wangyufeng.ai.JniCallC.java...

2020-04-13 16:32:55 582

转载 u3D深度信息空间线性化

https://blog.csdn.net/wodownload2/article/details/95043746

2020-04-02 19:12:57 335

原创 JNI使用(三)-------char*(byte*)和jbyteArray(byte[])x相互转换

c++ 中的char*转java中的byte[],代码如下: char *result = addr->getReadData();//字符串 int length =addr->getAvailableSize();//字符串长度 jbyteArray data =env->NewByteArray(length); env->SetByteArrayRe...

2020-03-05 12:32:30 5536 3

原创 TcpConnect connect failed ACCES网络无权限

第一次用android原生写网络,TcpConnect connect failed ACCES,碰到这个问题,查到是网络权限的问题,改动如下:

2019-06-03 09:13:48 1514

原创 JNI使用(二)--------String转char*和char * 转String

c++ 中的char*转java中的String,代码如下:char * charResult; jstring result = (env)->NewStringUTF( charResult);return result; java中的String转c++ 中的char*,代码如下: const char *nativeString...

2019-05-22 16:18:46 1326

原创 JNI使用(一)--------java生成C++类

首先,写好一份桥接C++的java代码TcpConnectionJni.java如下:package com.example.wangyufeng.myapplication;public class TcpConnectionJni { long nativeProtocolBios; private native void close(); priv...

2019-05-21 20:46:08 503

原创 cocos渲染引擎分析(七)-----shader渲染流程之StateBlock

cocos引擎底层渲染场景时,会根据状态设置(混合函数,深度写入,深度测试,背面裁剪,透明)渲染场景,StateBlock就是控制整个场景状态变换的类。cocos设计的为每个材质保持一个StateBlock,通过_pMaterial->getStateBlock()获取,状态设置包括以下:enum{ RS_BLEND = (1 << 0)...

2019-05-16 13:51:01 578

原创 UE4学习(一)--------Unreal4源码编译

unreal源码的获取安装编译参考这编文章: https://www.cnblogs.com/sundayofit/p/8448786.html 我的编译环境是VS2017,win7系统,编译时,提示如下错误问题: 错误 MSB3644 未找到框架“.NETFramework,Version=v4.6.2”的引用程序集 的解决方法。...

2019-05-16 13:46:50 1084

转载 JNI调用C++自定义类

文章地址:https://blog.csdn.net/chaoqiangscu/article/details/83023762

2019-05-15 10:08:37 530

原创 无法打开包括文件: “WinSock2.h”: No such file or directory

平台工具集设置为XP,如下:

2019-05-13 16:09:49 8966 1

转载 配置reactNative(RN)过程中 出现react-native:command not found 和 zsh: command not found: react-native

问题链接https://www.jianshu.com/p/2940f98e142a

2019-05-09 15:41:28 1835

原创 lua require DLL动态库,传入callback

上个Demo主要写了C++类的各种参数传入,然而这些参数并不包括函数,后面又改了部分,加入callback:#include <iostream>#include <functional>using namespace std;extern "C" {#include <lua.h>#include <lauxlib.h>#in...

2019-05-05 14:18:45 724

原创 lua require自定义DLL

一直使用cocos自带的LUA绑定C++流程,项目服务器需求脱离cocos使用lua require C++的dll,研究了下,C++代码实现如下:#include <iostream>using namespace std;extern "C" {#include <lua.h>#include <lauxlib.h>#include &lt...

2019-04-28 17:44:46 1911

原创 cocos的物理碰撞系统使用方式,适应用2D,3D捕鱼

首先设置整体场景的物体世界 self =display.newScene("MainScene",{physics=true})--创建物体世界 local physicsWord = self:getPhysicsWorld() physicsWord:setGravity(cc.p(0, 0)) physicsWord:setUpdateRate(3);--设置频率 if ...

2019-04-23 15:46:13 867

原创 cocos渲染引擎分析(六)-----shader渲染流程之内置shader构建

u单纯使用OPENGl写一个场景渲染时,可以很容易的看出OEPNGL整个渲染流程,cocos引擎将整个渲染流程进行了封装分类,各司其职。虽然很多人说cocos渲染底层是学生写的,不少问题,然而cocos这个小巧的引擎,确是一个很好的学习引擎渲染架构的方式,本篇主要讲,引擎底层怎么组织shader,读取模型,材质,创建生成渲染指令的过程进行剖析,本章记录内置shader的构建过程。内置shade...

2019-04-12 10:06:53 859

原创 cocos渲染引擎分析(五)-----FBO实现多分辨率渲染

上章讲了RenderTexture的流程,然而有些需求cocos提供的并不能实现。在PC上玩游戏的时候,我们可以在设置选项里设置游戏分辨率,模糊,清晰,高清,然而cocos引擎只支持一种渲染分辨率,手机分辨率多少,就会渲染出同样分辨率的图片,这样对某些消耗大3D游戏,在低端手机就会很卡。因此,本章主要讲怎么实现基于FBO的多分辨率渲染。多分辨率渲染的思路如下:首先创建FBO,然后渲染场景时,设...

2019-04-03 17:08:04 772

原创 cocos渲染引擎分析(四)-----渲染到纹理(RenderTexture)分析和渲染3D 错乱问题

渲染到纹理,顾名思义就是将原本需要渲染到系统屏幕上的图像渲染到纹理,cocos引擎也提供了渲染到纹理(Render Texture)的功能。当然,跟其他3D功能一样,它的渲染到纹理一样有自己的局限性,只能等比例渲染,场景为1280*720,你如果想要渲染全景,只能渲染1280*720的纹理上,如果创建的纹理是640*360,渲染出来的纹理就是原来场景的一半,下一章写出自己的自适应渲染。渲染到纹...

2019-04-03 16:52:40 2316

原创 cocos渲染引擎分析(三)-----渲染命令之MeshCommand

cocos的3D部分是在2D部分的基础上加上去,虽然经历很多版本迭代,然而3D部分,只是一个简单架子搭了起来,如果想要譬如高光,阴影,批次渲染等功能,都是需要自己添加的。这里简单讲下3D渲染命令MeshCommand,MeshCommand主要用于渲染Sprite3D 和3D粒子,这里以Sprite3D 的绘制流程为例,记录MeshCommand的渲染流程。引擎渲染3D场景时,首先遍历场景节点...

2019-04-03 16:18:56 657 4

原创 cocos渲染引擎分析(二)-----渲染命令之TrianglesCommand批次合并渲染

从上一章cocos启动流程中知道,cocos的渲染队列中,总共有TRIANGLES_COMMAND,GROUP _COMMAND等七种,其中GROUP_COMMAND是命令集合,QUAD_COMMAND是TRIANGLES_COMMAND的扩展类,真正的渲染命令只有5种:CUSTOM_COMMAND用于自定义绘制,BATCH_COMMAND批次渲染图集,MESH_COMMAND网格渲染,主要用于...

2019-04-03 14:20:29 1377

原创 unity使用Protobuf小结

使用方式可以使用生产potobuf-lite.dll的方式引入到unity插件。 直接拖到protobuf的csharp源码到unity插件中,中间需要删除测试代码,有时编译不通过,可采用以下方式:在Assets目录下面新建smcs.rsp文件,并在其中写入 -unsafe字符串,前后不加空格。 根据.proto生成C#语言,生成语句类似下面的语法(protoc以及lib的生成使...

2019-03-28 08:41:35 292

转载 Unity3D 入门小技巧——克隆游戏对象与创建预制

一、克隆游戏对象与创建预制的区别在Unity3D当中,为了快速复制出游戏对象,主要有克隆游戏对象与创建预制两种方法。两者区别在于:1、克隆游戏对象需要场景中有被克隆对象,而创建预制只需事先创建预制即可,允许场景中一开始并不存在该游戏对象。2、克隆出来的游戏对象并不会随着被克隆体的变化而发生变化,但是使用预制创建出来的对象会随着预制的改变而发生改变。...

2019-03-27 18:37:53 2408

原创 cocos渲染引擎分析(一)-----渲染启动流程

做了两年的cocos引擎底3D层优化和特效,以及对应的编辑器开发。原本的计划中,参考Unity3D引擎,优化cocos渲染流程,实现批次渲染,BRDF渲染,卡通渲染,多材质渲染,延迟渲染,模型阴影,以及HDR,次表面散射,中国风特效,砖石特效等,并制作对应的编辑器。而今只实现了底层优化,批次渲染,BRDF渲染,卡通渲染,多材质渲以及对应编辑器制作。自感部门危险,这几天整理下做过的工作,记录下来,也...

2019-03-26 19:21:12 2226

原创 cocos 3D的的透明问题,模型中存在两个透明物体时透明混乱

公司3D项目反馈cocos3d模型问题,正常情况,我们的模型如下图,模型的毛发使用透明贴图:当整体改变透明度改为为 小于100时出现下面情况: 分析后,感觉应该是两个透明物体绘制顺序出错,并且绘制透明物体时,cocos并没有关闭深度写入功能,更改mesh::draw函数如下: _material->getStat...

2019-03-20 10:34:25 1745

原创 cocos项目3.13升级到3.17

升级公司项目到3.17,PC编译通过后,android编译还希望使用原先的语句编译,记录一个困扰了不少的坑,不是专业的android开发人员,知其然,不知其所以然。报下面的错误时:Android NDK: Trying to define local module 'cocos2dx_static' in jni/../../cocos2d/cocos/./Android.mk.Andr...

2019-03-15 14:22:24 1300

原创 error LNK2005 _inflateEnd 已经在 libzlib.lib定义

最近给公司的引擎升级,新项目中出现error LNK2005 _inflateEnd 已经在 libzlib.lib定义,错误很明显,重复定义。但是项目中又同时需要这两个LIB库。解决方式如下在命令行中/Force:MulTiple引用于https://msdn.microsoft.com/en-us/library/70abkas3.aspx和https://blog.csdn.net/...

2019-03-12 14:14:02 646

原创 cocos中Vs项目的路径宏和库引入

这几天升级公司项目3.1,0到3.17,新老项目,库路径输出路径,以及公司的库,路径不太一样,记录下VS项目中常用的一些路径宏。$(EngineRoot) cocos项目自定义的路径,可以修改。点击视图-----》属性管理器-------》点击项目下的props文件---》点击用户宏编辑。$(PlatformName)当前项目平台的名称$(OutDir)输出文件目录的路径,...

2019-03-12 10:25:13 336

原创 XP支持

公司项目在XP系统提供支持,改动如下:1.平台工具集设置为Visual Studio 2013 - Windows XP (v120_xp)2.配置属性-&gt;C/C++-&gt;预处理器-&gt;预处理器定义添加WIN32_WINNT=0x05013.配置属性-&gt;链接器-&gt;引用-&gt;是 (/OPT:REF)(有时需要,保险起还是设置)4.GetUserPrefe...

2019-03-08 14:59:09 488

原创 设置"从父级或项目默认设置继承"

首先点击解决方案,然后视图------属性管理器(VS2017以前的为 视图----其他窗口---属性管理器),进入下面选项红色部分代表你继承值的文件,如果不需要某些继承的值,可以手动删除对应的Props文件,或者重新编辑,删除后,点击项目右键或者直接编辑props文件...

2019-03-05 12:41:40 3919 1

原创 头文件中用static定义全局变量的问题

cocos3.13前的版本中,一些全局变量使用static 定义,研究了static定义全局变量的优缺点。例如定义下面的头文件//cocos.h#pragma oncestatic int globle= 0;static int image =[............... ...............//省略];在其他源文件中,引用cocos.h头文件后,每个源文件都...

2019-03-05 09:49:08 2206 1

原创 cocos实现PC端鼠标指针更换功能

       预打算使用windows中的鼠标指针功能,发现效果不佳,和COCOS不是很匹配,最终和cocos使用同一个glfw库的,代码如下: std::string strCur = "../../res/bg_d.png";    auto image = new (std::nothrow)Image();    image-&gt;initWithImageFile(st...

2019-02-26 10:07:27 1259

原创 cocos屏幕自适应的一些概念

屏幕自适应因情况不同,方法不同,这里记录几个概念,懂了这几个概念,cocos屏幕自适应问题应该容易解决。屏幕的的实际尺寸大小使用getFrameSize()获取,代表屏幕大小,游戏开发过程中,坐标与屏幕实际尺寸并不对应,而是对应于设计辨率,这样针对不同的屏幕,程序根据适配模式(固定宽,固定高,无边框)统一自适应到屏幕上。display.width和diplay代表虚拟分辨率(或者设计分辨率...

2018-11-14 19:10:22 742 1

原创 cococs在Windows下全屏实现和窗口最大化

项目需要在windows下实现全屏功能,本人版本3.14,参考https://blog.csdn.net/wiyun_beijing/article/details/23423785代码发现,发现并不是能满足自己的要求,虽然可以实现全屏,然而上半部分有一条黑色边框,如下图:且多次全屏切换后,屏幕会慢慢变小。分析代码发现,每次屏幕改变代码后,cocos 会调用void onGLFWWindo...

2018-11-14 18:35:32 960

原创 cocos实现WebView缓存策略

 cocos打开WEBView时,每次都会重新从网络加载网页数据,有一定的时间延迟,对于没有更新的网页,可以采取缓存策略,在需要更新的时候,才使用从网络加载数据的方式,而cocos底层3.13版本,还不支持缓存策略,如果需要缓存策略需要做如下修改: UIWebView-ini.h添加如下代码 void WebView::setLocalCacheElseNet(...

2018-11-12 09:28:43 1846 1

支持XP系统库

支持XP系统的cocos库的资源,,新的cocos代码不支持XP系统,需要老的LIB

2019-03-08

3D水墨渲染

实现水墨渲染动画的代码,方案参考大佬写的,我只是个代码的搬运工

2018-11-09

次表面散射玉石

基于次表面散射(SSS)的玉石渲染 次表面散射(SSS)的概念自行百度,表现光进入物体,然后发生内部散射,最终从不同的位置射出,主要用于模拟玉石,翡翠,蜡烛,皮肤等有一点点透光的物体

2018-11-09

安卓应用开发详解及源码

安卓应用开发详解这本书,以及源码,可以用来学习安卓开发

2013-11-03

OPENGL shader编程

一个用OPENGL2010编写的应用GLSL语言的环境映射的例子

2013-10-18

OBJ文件大全

文件模型 移动开发 游戏开发必不可少的模型 辛苦收集

2013-10-18

ANDROID三维展示

实现对物体的旋转,放大缩小,以及纹理贴图,点的拾取等功能

2013-10-18

空空如也

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

TA关注的人

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