自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 TcpConnect connect failed ACCES网络无权限

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

2019-06-03 09:13:48

阅读数 170

评论数 0

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

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

2019-05-22 16:18:46

阅读数 469

评论数 0

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

首先,写好一份桥接C++的java代码TcpConnectionJni.java如下: package com.example.wangyufeng.myapplication; public class TcpConnectionJni { long nativeProtocolBi...

2019-05-21 20:46:08

阅读数 146

评论数 0

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

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

2019-05-16 13:51:01

阅读数 103

评论数 0

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

unreal源码的获取安装编译参考这编文章: https://www.cnblogs.com/sundayofit/p/8448786.html 我的编译环境是VS2017,win7系统,编译时,提示如下错误问题: 错误 MSB3644 未找到框架“.NETFrame...

2019-05-16 13:46:50

阅读数 252

评论数 0

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

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

2019-05-15 10:08:37

阅读数 80

评论数 0

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

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

2019-05-13 16:09:49

阅读数 1172

评论数 0

转载 配置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

阅读数 199

评论数 0

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

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

2019-05-05 14:18:45

阅读数 112

评论数 0

原创 lua require自定义DLL

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

2019-04-28 17:44:46

阅读数 273

评论数 0

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

首先设置整体场景的物体世界 self =display.newScene("MainScene",{physics=true})--创建物体世界 local physicsWord = self:getPhysicsWorld() physicsWord:set...

2019-04-23 15:46:13

阅读数 144

评论数 0

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

u单纯使用OPENGl写一个场景渲染时,可以很容易的看出OEPNGL整个渲染流程,cocos引擎将整个渲染流程进行了封装分类,各司其职。虽然很多人说cocos渲染底层是学生写的,不少问题,然而cocos这个小巧的引擎,确是一个很好的学习引擎渲染架构的方式,本篇主要讲,引擎底层怎么组织shader,...

2019-04-12 10:06:53

阅读数 135

评论数 0

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

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

2019-04-03 17:08:04

阅读数 121

评论数 0

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

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

2019-04-03 16:52:40

阅读数 243

评论数 0

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

cocos的3D部分是在2D部分的基础上加上去,虽然经历很多版本迭代,然而3D部分,只是一个简单架子搭了起来,如果想要譬如高光,阴影,批次渲染等功能,都是需要自己添加的。这里简单讲下3D渲染命令MeshCommand,MeshCommand主要用于渲染Sprite3D 和3D粒子,这里以Sprit...

2019-04-03 16:18:56

阅读数 158

评论数 4

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

从上一章cocos启动流程中知道,cocos的渲染队列中,总共有TRIANGLES_COMMAND,GROUP _COMMAND等七种,其中GROUP_COMMAND是命令集合,QUAD_COMMAND是TRIANGLES_COMMAND的扩展类,真正的渲染命令只有5种:CUSTOM_COMMAN...

2019-04-03 14:20:29

阅读数 275

评论数 0

原创 unity使用Protobuf小结

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

2019-03-28 08:41:35

阅读数 56

评论数 0

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

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

2019-03-27 18:37:53

阅读数 969

评论数 0

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

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

2019-03-26 19:21:12

阅读数 367

评论数 0

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

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

2019-03-20 10:34:25

阅读数 165

评论数 0

原创 cocos项目3.13升级到3.17

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

2019-03-15 14:22:24

阅读数 435

评论数 0

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

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

2019-03-12 14:14:02

阅读数 93

评论数 0

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

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

2019-03-12 10:25:13

阅读数 53

评论数 0

原创 XP支持

公司项目在XP系统提供支持,改动如下: 1.平台工具集设置为Visual Studio 2013 - Windows XP (v120_xp) 2.配置属性-&gt;C/C++-&gt;预处理器-&gt;预处理器定义添加WIN32_WINNT=0x0501 3.配置属...

2019-03-08 14:59:09

阅读数 122

评论数 0

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

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

2019-03-05 12:41:40

阅读数 444

评论数 0

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

cocos3.13前的版本中,一些全局变量使用static 定义,研究了static定义全局变量的优缺点。例如定义下面的头文件 //cocos.h #pragma once static int globle= 0; static int image = [............... ....

2019-03-05 09:49:08

阅读数 345

评论数 0

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

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

2019-02-26 10:07:27

阅读数 272

评论数 0

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

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

2018-11-14 19:10:22

阅读数 270

评论数 1

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

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

2018-11-14 18:35:32

阅读数 249

评论数 0

原创 cocos实现WebView缓存策略

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

2018-11-12 09:28:43

阅读数 620

评论数 1

原创 unity3d 实现简单水墨画效果

水墨效果,素材简陋: 文章参考http://gad.qq.com/article/detail/18724, 原理可以看这位大佬的文章,我就贴上自己工程源码: https://download.csdn.net/my  

2018-11-09 17:42:20

阅读数 2283

评论数 2

原创 基于次表面散射(SSS)的玉石渲染(2)

本文效果图: 基于次表面散射(SSS)原理介绍请参考上一遍,求模型厚度的时候,本文采用渲染模型正面和背面的深度图,模型渲染代码如下: Shader "Custom/JadeRender" { Properties{ _Diffuse("Diffuse&...

2018-11-09 16:35:27

阅读数 564

评论数 0

原创 基于次表面散射(SSS)的玉石渲染

本文效果图: 次表面散射(SSS)的概念自行百度,表现光进入物体,然后发生内部散射,最终从不同的位置射出,主要用于模拟玉石,翡翠,蜡烛,皮肤等有一点点透光的物体。常规的漫反射计算公式为: float diffuse=max(0,dot(L,N)); 《GPU GERM》中对使用环绕光照...

2018-11-09 15:53:35

阅读数 2200

评论数 0

原创 cocos实现拖动窗口继续渲染

cocos虽然定位于移动端的手机游戏引擎,但也有不少公司用它开发PC游戏,由于cocos自身的原因,许多功能并不尽如人意。开发cocos游戏时,都有这样的经历,拖动cocos窗口时,或者点击窗口边框,cocos就会暂停渲染主线程,这个时候主进程阻塞(如同切入后台不渲染一样,切入后台不渲染问题,可以...

2018-11-06 11:09:16

阅读数 131

评论数 0

原创 cocos帧动画结尾回调函数

用cocos做游戏经常要遇到某个帧动画结束时调用另一事件的需求,最简单的方式当然是使用下面的方式: self.action:setLastFrameCallFunc(function()         if(self.EventFunc[self._anim])then           ...

2018-10-23 16:08:43

阅读数 863

评论数 0

原创 std::function和std::bind用法

std::bind()        std::bind 主要用于绑定生成目标函数,一般用于生成的回调函数,cocos的回退函数都是通过std::bind和std::function实现的。两个点要明白: 1.绑定全局或者静态函数比绑定成员函数少了个成员变量,且不需要引用如下 //绑定全局...

2018-09-04 14:58:31

阅读数 3305

评论数 0

原创 Cocos引擎3D优化和BUG问题总结

     对自己这一年多对cocos底层开发做一个总结。 系统优化     1.批次渲染,cocos3D不支持批次渲染,对应场景类似物体很多(如麻将)的时候,如果采用每个物体绘制一次drallcall会很大,帧率也很低,因此,可以更改cocos源码,提供批次渲染功能,将相似物体的纹理打包成一张...

2018-08-29 16:03:57

阅读数 748

评论数 0

原创 C++ 引用和指针的区别

联系 : 指针是指向一块内存地址的变量,这个变量可以指向其他地址;引用是一个变量的别名,只能是一个变量的别名。一个变量的引用可以转为指向它的指针。 不同: 1.初始化不同,引用使用时必须初始化,且只能指向一个变量,初始化不能指向其他变量;指针不一样,指针使用时不必初始化,可以指向nul...

2018-08-29 14:15:09

阅读数 2332

评论数 4

原创 OPENGL的模板缓冲

一直对模板缓冲处于模模糊糊的了解状态,用也只是复制,今天找时间终于彻底理清了它的应用,记录防止再次忘记。         模板缓冲一般用来绘制雕花挖开物体等应用。模板缓冲区一般为8位,初始时默认为零,也可使用glClear(GL_STENCIL_BUFFER_BIT)。 模板时主要使用glSten...

2017-02-24 14:27:56

阅读数 303

评论数 0

原创 直接控制OSG摄像机移动

如果不想继承OSG漫游器而直接控制漫游,这里记下一种思路    一,首先更改默认漫游器的handle()函数,将其设置为什么都不处理。            二,通过函数viewer->getCameraManipulator()->setHomePostion(eye2, cen...

2016-12-03 15:02:42

阅读数 1556

评论数 0

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