自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jeson_DeveloperWX

世上无难事,只怕有心人。

  • 博客(54)
  • 资源 (3)
  • 问答 (13)
  • 收藏
  • 关注

原创 Unity发布之后的exe报Encoding 1252 data could not be found的解决方法。

在网上搜了一下大概这个问题的原因是没有找到编码1252,确保程序及是国际化格式。解决办法:找到如下Unity的安装目录路径例如:D:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0找到之后,拷贝下面两个DLL文件分别为:I18N.dll和I18N.West.dll。将这两个DLL文件拷贝到打包程序的exe同一级目录即可。...

2021-01-28 09:27:51 1507 3

原创 基于Unity的物体动画(移动加旋转)

再此处记录一下物体在给定点组,绘制出路径并依路径行走的编码过程及运行效果。using System.Collections;using System.Collections.Generic;using UnityEngine;using DG.Tweening;using UnityEngine.UI;public class Car : MonoBehaviour{ public float m_radius = 1.0f; //圆圈半径 public Materia

2020-12-23 18:16:10 2514

原创 基于Unity3D使用LineRender组件绘制圆线

在此记录一下使用Unity3D 的LineRender绘制线的过程,经过测试LineRender与OpenGL的GL_LINE_STRIP绘制方式一样,因此计算完点之后需要把起始点即为终点,多算一个点才算闭合。代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class DrawLines: MonoBehaviour{

2020-12-22 15:52:08 851

原创 基于Unity的LineChart插件的使用记录

1.LineChart的图标的背景图颜色,轴线的颜色设置,标题的颜色设置,以及线条的颜色设置。如图所示:ColorPalette这一项主要是修改定义的每一条颜色的曲线。2.Grid如图所示:3.对X轴修改范围以及间隔数参数设置:Y轴的参数设置与X轴的参数基本一样,看具体的菜单名称即可。4.对表格插入数据我们可以对Serise的size进行设置大小,也就是对表格要插入多少个数据。下面记录一下如何代码的方式插入数据,当然了使用界面的调节和输入也是可以的。代码段如下: LineChar

2020-12-07 10:47:03 1671

原创 OSG实现鼠标拖拽物体

首先要具备射线拾取的基本知识和向量运算的基础知识,屏幕点转换为三维点怎么取转换。现在先看一下屏幕的点如何转换为三维点,代码如下:osg::Vec3 screenToWorld(osgViewer::Viewer* viewer,double dx,double dy){ osg::Camera *camera = viewer->getCamera(); osg::Matrix viewMat = camera->getViewMatrix(); //获取当前视图矩阵 osg::Ma

2020-06-18 16:35:27 2961 18

原创 实现OSG通过网络由服务端的模型旋转姿态发送给客户端,使得服务端的模型姿态与客户端的模型姿态一致。

1,首先实现服务器端创建套接字的代码实现#ifndef _SERVER_H_#define _SERVER_H_#include <Winsock2.h>class CServer{public: CServer(void); ~CServer(void); bool initSocket(); //加载套接字库 void sendMessageToClient(char* buffData,int size); //发送消息private: void creat

2020-05-30 18:10:26 305

原创 OpenGL学习之帧缓冲

什么是帧缓冲呢?我们使用了几种不同类型的屏幕缓冲:用于写入颜色值的颜色缓冲,用于写入深度信息的深度缓冲,以及允许我们基于一些条件丢弃指定片段的模板缓冲。把这几种缓冲结合起来叫做帧缓冲(Framebuffer),它被储存于内存中。OpenGL给了我们自己定义帧缓冲的自由,我们可以选择性的定义自己的颜色缓冲、深度和模板缓冲。帧缓冲的步骤主要有哪些呢?//创建帧缓冲对象GLuint fbo...

2018-12-27 14:37:48 430

原创 OpenGL学习之实例化

实例化学习参考于LearnOpenGL-实例化网站,本次试验是基于Assimp这一节的纳米铠甲机器人为例,来简单实现实例化的绘制。下面摘自实例化的原文,作用很重要颜色标注:像这样绘制出你模型的其他实例,多次绘制之后,很快将达到一个瓶颈,这是因为你glDrawArrays或glDrawElements这样的函数(Draw call)过多。这样渲染顶点数据,会明显降低执行效率,这是因为OpenGL...

2018-12-17 14:16:10 1071

原创 OpenGL学习之创建天空盒

本文主要参考了立方体贴图的基本原理,首先回顾一下什么是立方体贴图:将多个纹理组合起来映射到一个单一纹理,就是立方体贴图(Cube Map)。基本上说立方体贴图它包含6个2D纹理,这每个2D纹理是一个立方体(cube)的一个面,也就是说它是一个有贴图的立方体。你可能会奇怪这样的立方体有什么用?为什么费事地把6个独立纹理结合为一个单独的纹理,只使用6个各自独立的不行吗?这是因为立方体贴图有自己特有的...

2018-12-14 15:29:19 4505 8

原创 OpenGL学习之模板测试绘制模型的轮廓

1、本次试验是参考LearnOpenGL网站进行学习总结。有关模板测试的概念和原理请查看学习网站即可,这里就不做解释。2、再啰嗦一下绘制轮廓的主要步骤:(1).在绘制物体前,把模板方程设置为GL_ALWAYS,用1更新物体将被渲染的片段。(2).渲染物体,写入模板缓冲。(3).关闭模板写入和深度测试。(4).每个物体放大一点点。(5).使用一个不同的片段着色器用来输出一个纯颜色。(6...

2018-12-14 14:45:25 2795 2

原创 osg使用顶点索引绘制任意几何体

直接贴代码:#include &lt;Windows.h&gt;#include &lt;osgViewer/Viewer&gt;#include &lt;osg/Group&gt;#include &lt;osgDB/ReadFile&gt;int main(void){ osg::ref_ptr&lt;osgViewer::Viewer&gt; viewer = new osg...

2018-11-13 16:54:12 1781 11

原创 对光栅化的理解和总结

在总结光栅化之前首先要理解一下什么是帧缓冲区?首先说说什么是缓冲区?当每个像素按照统一的方式存储时,存储所有像素的空间就叫做缓冲区。帧缓冲区主要包含了以下几种缓冲区:颜色缓冲区、深度缓冲区、模板缓冲区、累计缓冲区。颜色缓冲区:它用于保存屏幕上所显示的颜色信息是绘图的一块内存它们包含了颜色索引和RGB颜色数据,还包括了alpha数据。深度缓冲区:它存储了颜色的深度信息。深度通常是由物体与观察...

2018-11-13 09:35:42 2898

原创 对自己的反思 (闲暇中的面试总结)

从毕业到现在我已经工作两年了,对现在的公司还抱有不满的情绪,想利用没有项目的时间偷偷地去面试几家公司看看我到底有几斤几两啊。终于~终于现实无情的打击了我,从今年3月份到11月份我大大小小最多面试了4家公司,从这几家公司的面试我从中获得了很多的东西对自身的不足也深感羞愧啊。我先说说面试的问题吧,虽然经常用到但是一考就玩完,在平时的积累中不容忽视的。(1)第一家公司先做笔试题,满分100,我应该答...

2018-11-12 19:08:37 1306

原创 三维场景中路径动画处理动画物体如何旋转的理论

1、考虑两向量是否平行或者其中一个向量为零向量,那么叉乘的结果如何? 解析:如果两向量a、b平行或者任意一个为零向量,那么a ^ b = 0;(^为叉乘符号)。叉乘对零向量的解释为:零向量平行于任意其他向量。而向量与零向量点乘的含义是和任意其他向量垂直。(注意:定义零向量平行或垂直于任意向量是不对的,因为零向量没有方向)。 2、重点:在项目中计算路径动画拐点处如何旋转动画物体并且旋转的角度与方...

2018-09-15 17:18:00 443

原创 自己关于写wave音频文件得源代码(备忘录)

头文件:SoundRecord.h#ifndef _SOUND_RECORD_H__#define _SOUND_RECORD_H__#include &amp;lt;Windows.h&amp;gt;#include &amp;lt;mmsystem.h&amp;gt;#include &amp;lt;string&amp;gt;#define MAX_BUFFERS 3#define m_samplefreq 44100 ...

2018-09-03 17:38:19 484

原创 qt中文乱码解决方法

实践最好解决QT中文乱码的两个办法如下 1、在*.pro 文件中添加这句代码:msvc:QMAKE_CXXFLAGS += -execution-charset:utf-8。 (注意需要清除,QMake,再进行构建运行即可。) 2、可以在使用的头文件中添加如下代码:#pragma execution_character_set(“utf-8”)。构建即可。...

2018-08-24 09:51:32 211

原创 谈HTCVIVE 多头盔链接朝向不对的问题

今天下午为了测试多头盔连接的朝向问题,花费了一下午的事件好在问题已经解决完毕,先下面讲一下大致的问题与思路。 现象问题呈现:多头盔的连接问题可以简化为两个头盔的连接作为说明,首先多头盔连接是基于网络同步作来展开的,先忽略如何用网络将头盔的数据相互进行共享,其次两个头盔可以分为主控头盔和从头盔,当打开程序启用网络同步时,正确的结果是两者的初始朝向为同一个方向,但显示的现象为主控头盔所看的场景与从头...

2018-05-17 18:44:09 1595

原创 关于一道面试题目的理解

代码如下:#include&lt;iostream&gt;using namespace std;class Base{public: Base(int i) { cout &lt;&lt; i &lt;&lt; endl; cout &lt;&lt; "Base::Base()" &lt;&lt; endl; ...

2018-03-07 18:59:14 303

原创 CryEngineV 如何用流图进行写xml文件

最近在试CE场景编辑好的TrackView过场动画,把场景数据的路径以xml的方式导出,加载到新建的CPP项目读取场景动画数据使得CPP场景中的当前相机能够按照原来CEV编辑器编辑好的动画进行运行确保无误。 以下是我通过学习官方视频使用flowGraph进行写xml通过读取相机的漫游点和方向写入xml中。截图如下 首先tool下Edit Graph Tokens…定义两个变量用来存储pos

2018-02-06 18:52:20 284

原创 CryEngine5.3(学习)

链接:https://pan.baidu.com/s/1nwqGS1z 密码:u3lv可以对大家有用。

2018-02-06 17:28:18 1930

原创 UE4场景漫游制作(二)

接上面的场景漫游继续完善功能,上面UE4场景漫游制作(一)中的效果是漫游过程中无法旋转相机,下面来加该功能,在漫游的过程中能够自由旋转视角。我直接贴蓝图哦: 说明:Arrow2就是复制的对象引用。

2018-01-03 14:21:44 3159

原创 UE4场景漫游制作(一)

1、首先准备好做漫游辅助的模型,我是在3ds Max制作了一个箭头的模型,并且开始漫游的时候将模型隐藏。 2、将模型拖入场景,并且添加一个Matinee,,选中拖入场景的模型在Matinee中添加动画帧。在左下Tracks空白处右键添加新空组并命名,选中刚添加的组名右键添加新的Movement Track。这里我指定了时间为5秒,每一秒添加一个关键帧。如下图所示: 3、下来指定每帧所漫游的坐

2018-01-03 13:42:39 9116

原创 UE4创建3D场景中的UI方法及在UI上面显示三维物体

学习链接https://docs.unrealengine.com/latest/CHN/Engine/UMG/HowTo/InWorldWidgetInteraction/index.html 使用BP在场景中显示三维文字通过Widget组件就可以实现这个功能。 1、实现在UI上面显示三维物体一下步骤详细介绍: 首先创建BP,添加组件为静态网格,这里选择为Cube进行测试。再次创建蓝图类父类

2017-12-29 15:38:15 13583

原创 UE4学习笔记(2)

1、自定义Player Controller需要自己的需要可以进行调整视角。以第三人称在关卡中进行移动时角色会随着相机的移动而移动,看不到人物的正面,只能看到角色的背面。为了使角色不受相机的移动那么可以进行一下设置。 打开角色蓝图需要修改两处如下图标线箭头处: 第一处: 右边是默认选择Controller Rotation Yaw,现在不勾选这个选项。 第二处: 原来的设置是Or

2017-12-21 19:02:33 411

转载 UE4粒子系统基础属性整理供自己学习

原链接 要在游戏中实现炫丽的特效,最有效的方法之一就是使用粒子系统。当前UE4版本为4.8.1。UE4拥有一个非常强大的模块化粒子系统编辑器,名为Cascade。与通用的粒子系统设计一样,UE4的粒子系统由发射器产生粒子,并通过设置发射器和粒子的属性来实现不同的效果。在一个单一的粒子系统中,UE4可以同时添加多个发射器,通过组合可以实现非常炫丽的效果。在编辑器中,发射器的计算顺序是从左到右的,而模

2017-12-14 09:22:13 13982

原创 UE学习笔记(1)

(一) 1、使用系统自带的节点调用自带的函数节点。比如EventBeginPlay–>PrintString. 2、使用自己定义的函数进行交互。 3、自定义事件Custom Event用来触发事件,如何进行调用CustomEvent呢?图表中单击右键输入自定义事件的名称Call Custome Event。 注意:自定义函数里面无发自定义事件。 (二) 1、利用命令调用函数Execuat

2017-12-13 18:29:09 766

原创 UE4简单的对物体进行可破坏效果的制作

首先准备一个模型用来创建可破坏的网格,先选中模型右键选中create destructible mesh(创建可破坏网格)如图。 其次创建完成之后双击该可破坏网格来进行编辑 主要对上述箭头进行设置。 还有设置碎块的块数如下图所示: 也可以设置随机种子数每次破坏的位置都是随机的。 完成设置之后要点选Fracture Mesh(炸裂网格)如下图所示 最后将可破坏物体拖拽至场景

2017-12-12 19:18:25 12100 2

原创 UE4对模型制作镜子的思考

UE4制作镜子的效果,首先要用到一个组件(Scene Capture 2D)感觉就是一个摄像机,为了使镜面看到对面的物体必然要使用RenderTarget渲染到纹理进行显示。最后在材质中对RenderTarget进行微调即可显示镜子的效果。步骤如图: 1、找到SceneCapture2D 2、创建一个renderTarget关联到SceneCapture2D中 现在进行关联,首先选中S

2017-12-12 18:58:59 3920

原创 UE4下对模型描边高亮的再细化说明

对这篇文章的再细化说明,请点击这里查看如何进行实现描边高亮效果。 1、在项目设置中找到设置自定义深度模板参数选项如下操作: Edit -> Project Settings -> Engine下的Rendering -> Postprocessing custom Depth-Stencil Pass设置为Enable with Stencil 如图所示: 2、在所要描边的模型上要进行

2017-11-30 11:04:52 5593 1

转载 DirectX 11 在把矩阵(例如View矩阵)传给shader之前为什么要进行转置(相关引擎坐标系及左乘与右乘的区别总结)

问题描述:在DriectX11中的代码不清楚为什么要把矩阵转置之后要传递给shader困惑很久终于在网上查了描述该问题的原因,以下是我遇到的代码片段: D3DXMatrixTranspose( &pcbAllShadowConstants->m_WorldViewProj, &dxmatWorldViewProjection ); D3DXMatrixTranspose( &pcbAl

2017-10-20 15:26:01 1513

转载 转载自《理解矩阵(转载,工科生还搞不懂矩阵是干什么的要看看了)》保存自学

(一) 前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。 可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊! 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教

2017-10-20 09:30:32 520

原创 对mutable的认识

首先我是在VS2015的环境下编写代码所以在这里写个简单的类来说明问题的情况:class A{public: A(); ~A(); void updateCamView(Camera *cam); Matrixcs getMatrixView()const;private: Matrixcs m_MatView;//说明Matrixcs是一个矩阵类在这里

2017-10-19 19:02:58 261

原创 关于VS2015调试DX11的HLSL着色器代码的方法与步骤

本次调试的项目是DXSDK中的CSM例子来展开说明,如何用VS2015自带的图形调试器来进行调试HLSL着色器代码,供大家交流与学习有不足之处还请指出批评。 1、首先打开VS2015在菜单栏中找到调试一栏,下拉选择图形再次选择启用图形调试。如下图所示: 2、软件打开之后会出现有下图所示的界面 3、找到下图所示的捕获帧,它用来捕获当前帧所渲染的画面也可以用键盘中的 PrintScree

2017-10-18 11:19:15 3107

原创 单例模式示例

#include <string>using namespace std;//单例模式 第一种方式 懒汉式class CSingleDemo1{public: static CSingleDemo1* getInstance(); virtual void Display();private: CSingleDemo1(); ~CSingleDemo1();

2017-03-26 17:26:47 443

转载 DX9与DX11shader编写中SV_POSITION与POSITION和SV_Target与COLOR之间的区别(一)

DirectX的一大特色之一便是Shader渲染,包括顶点Shader渲染以及像素Shader渲染。设置Shader机制是为了使程 序员能够控制GPU绘制顶点或像素的方式,简单的说,我们设计的Shader代码是运行在GPU硬件中的,这样提高了渲 染效率。上篇幅简要简绍了下DirectX管线渲染的基本步骤,本篇幅从绘制基本的正方体开始详细描述绘制过程。1,Vertex Shaderstruct

2017-03-26 16:24:41 9567

转载 DX9与DX11shader编写中SV_POSITION与POSITION和SV_Target与COLOR之间的区别(二)

4输入布局(input layout)设置输入布局主要是为了指定GPU按特定格式读取顶点缓存中的Void*数据,在未定义输入布局之前,顶点缓存中的所有数据都为Void*类型,即为GPU对其是陌生的。在顶点结构中,针对每个成员,我们要定义一个相应的D3D11_INPUT_ELEMENT_DESC。这个结构定义了该成员相应的有关信息,定义如下:typedef struct D3D11_INPUT_EL

2017-03-26 16:23:16 2090

转载 HLSL shader编程中顶点着色器与像素着色器函数中的参数传递解析

HLSL基本以C语言的习惯来写的,但是如果完全以C语言的角度来看,我个人感觉入门最难理解就是顶点着色器和像素着色器的两个函数的参数传递了。 下面以最简单的HLSL中效果框架举例说下自己的理解。 uniform extern float4x4 gWVP;struct OutputVS { float4 posH : POSITION0; float4 c

2017-03-22 11:34:28 2672

转载 固定渲染管线与可编程渲染管线的区别

1.固定渲染管线与可编程渲染管线的区别:1)、固定渲染管线 ——这是标准的几何&光照(T&L)管线,功能是固定的,它控制着世界、视、投影变换及固定光照控制和纹理混合。T&L管线可以被渲染状态控制,矩阵,光照和采制参数。2)、顶点着色器——图形开发人员可以对渲染管线中的顶点运算和像素运算分别进行编程处理了,而无须象以前那样套用一些固定函数,取代设置参数来控制管线,最早出现与DX8,包括PS和VS两部

2017-03-22 11:17:51 927

转载 C++ 私有构造函数的作用

很多情况下要求当前的程序中只有一个object。例如一个程序只有一个和数据库的连接,只有一个鼠标的object。通常我们都将构造函数的声明置于public区段,假如我们将 其放入private区段中会发生什么样的后果?这意味着什么? 当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私有

2017-03-18 20:34:00 613

原创 无意中写错的一个函数值得谨记与反思

最近在项目中写了一个函数其意图是为了返回一个值供给其他地方使用。假设示意函数定义如下:#include <iostream>using namespace std;int& funcation(const int& num){ int sum=10; sum += num; return sum;}int main(){ int num = funcation

2017-03-18 20:23:02 317

cubeMap.rar

该资源是OpenGL经典的天空盒贴图,贴图分为六张贴图,分别标识为:xn.jpg,xp.jpg,yn.jpg,yp.jpg,zn.jpg,zp.jpg,n表示为(negative )p表示(positive),也就是轴向的正负区分,希望对你有用。

2020-05-30

C++实现音频录音wav格式

利用C++实现音频录音功能,定义音频头的数据格式,通道数为2,通道字节数16为录的声音更为清晰,无杂音。

2018-08-31

最新HLSL内置函数

最新的DriectX HLSL内置函数,增加了一些旧版本没有的内置函数,在CSDNblog查过一些人摘抄的内置函数,但是都不太全,例如添加了MIX等函数。

2017-09-27

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

TA关注的人

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