自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(623)
  • 资源 (3)
  • 收藏
  • 关注

转载 OpenGL核心技术之帧缓冲

OpenGL核心技术之帧缓冲笔者介绍:姜雪伟,I。CSDN视频网址:http://edu.csdn.net/lecturer/144本篇博文主要是给读者解密关于游戏后处理渲染效果的原理,后处理渲染效果在Unity,UE4虚幻引擎等商业引擎 使用的非常多,比如Bloom,Blur,SSAO,PSSM,HDR等等都属于后处理渲染效果,它们的实现其实就是应用帧缓冲技术实现的,本篇博文主要是围绕帧缓冲给读者介绍其实现原理以及应用案例。在前面给读者介绍了几种不同的屏幕缓冲:用于写入颜色值的颜色缓

2021-05-26 10:55:56 2449

原创 着色器_预处理器

学习目标预处理器是干啥的 预处理器的指令 宏定义 预处理器条件 编辑器控制 扩展处理 本节内容很简单,看一遍即可明白!预处理器编译GLSL 着色器的第一个步骤是由预处理进行解析的。你可能还是不知道干啥的,它的作用就是删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代。预处理指令GLSL 提供了一些指令,用于创建条件编译代码块以及定义一些值。但是,和 c语言的预处理器不同GLSL 并没有提供文件包含命令.你可能会问了什么叫文件包含命令,其实你是知道的,例

2021-05-12 08:58:21 1265

原创 着色器_片断着色器详解

本节学习目标输入值和输出值 如何渲染多个输出缓冲区输入值和输出值片段着色器内置变量输入值:片段着色器接受顶点管线最终输出的迭代值,这些值包括片段的位置,已解析的主颜色和辅助颜色,一系列的纹理坐标以及片段的雾坐标距离。下面这个表格,将是对这些变量的详细介绍|变量|类型|描述||---||gl_FragCoord|vec4|片断的位置,包含z成分,它表示固定功能所计算的深度值,只读||glFrontFacing|bool|只读,指定这个片段是否属于一个正面图元||..

2021-05-12 08:53:29 1599

原创 着色器_ 顶点着色器详解

本节学习目标内置的属性输入变量 用户定义的属性变量 如何把顶点数据通过应用程序发送到着色器程序 特殊输出变量在讲解内容之前,先看一张图GLSL 顶点着色器的输入和输入变量先讲讲这个图!箭头的方向表示输入和输出uniform 变量,程序中保持常量 attribute 变量,除了标准的顶点状态,他们还可以根据顶点进行更新 varying 变量,用于向片段管线传递数据,这些数据包括颜色,纹理坐标和其它基于片段的数据内置的属性输入变量这些变量反应了当前的OpenGL..

2021-05-12 08:51:55 2053

原创 着色器_介绍

着色器语言(OpenGL Shading Language) ,GLSL是着色器语言的通称,是一门编程语言,用于创建做编程的着色器,OpenGL 着色器语言允许应用程序显示的指定在处理顶点和片段时所指定的操作.学习目标理解使用OpenGL 2.0 着色器语言编写的可编程着色器的结构和内容OpenGL 图像管线和可编程着色器OpenGL 操作分为两个部分,第一部分对顶点进行处理,第二部分对片段进行处理。这些操作可以通过代码进行控制,但是程序内部的执行顺序不能进行控制,这种操作模式被称为"固定功

2021-05-12 08:48:08 1441

转载 OpenGL ES _ 着色器_纹理图像

OpenGL ES _ 着色器_纹理图像2OpenGL ES _ 入门_01OpenGL ES _ 入门_02OpenGL ES _ 入门_03OpenGL ES _ 入门_04OpenGL ES _ 入门_05OpenGL ES _ 入门练习_01OpenGL ES _ 入门练习_02OpenGL ES _ 入门练习_03OpenGL ES _ 入门练习_04OpenGL ES _ 入门练习_05OpenGL ES _ 入门练习_06OpenGL ES _ 着色器 _ 介绍OpenGL ES _.

2021-05-11 16:55:37 385

原创 向Shader中传递数据

传递顶点属性信息之前讲过,vertex shader会被每个顶点调用,通常一个顶点会包含很多信息,例如顶点坐标、顶点法向量、纹理坐标等等,我们称这些信息为顶点的属性。在之前的OpenGL版本里,每个属性都对应了一个特定的通道,我们使用glVertex,glTexCoord,,glNormal(或者通过访问指针函数glVertexPointer, glTexCoordPointer, orglNormalPointer)等函数来访问和设置它们。随后,shader会自己通过内置变量gl_Vertex .

2021-05-10 16:27:52 702

原创 加载FBX模型文件

深入理解加载FBX模型文件每个模型文件都有自己的格式,有自研引擎的模型格式,有AutoDesk提供的模型文件格式,比如FBX模型文件,因为Unity与UE4引擎的使用而备受关注,FBX文件是AutoDesk提供的SDK,已经封装好了,我们并不能查看到其内部结构。网上也有很多关于这方面的文章,但是都没有真正解释FBX文件的内部结构,以及自己如何封装程序加载FBX模型文件。本篇博客就教给读者这两方面的知识,这样更有助于读者理解FBX文件,从而可以将FBX的加载代码移植到自己的引擎中或者自己的SDK中,当然

2021-05-10 08:31:43 1947

原创 OpenGL纹理详解

OpenGL纹理详解现实生活中,纹理最通常的作用是装饰我们的物体模型,它就像是贴纸一样贴在物体表面,使得物体表面拥有图案。但实际上在OpenGL中,纹理的作用不仅限于此,它可以用来存储大量的数据,一个典型的例子就是利用纹理存储地形信息。纹理对象和参数 现代OpenGL中,纹理对象和顶点数组对象(VAO)及缓存对象(VBO)一样,需要调用glGenTextures函数生成。生成纹理对象 同样的,纹理对象需要进行绑定。OpenGL中纹理可以分为1D,2...

2021-05-08 14:08:45 5869

原创 LNK2005错误的原因与解决

LNK2005错误的原因与解决编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为 需要 使 用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中定义如下:int g_Test;那么在使用的CPP文件...

2021-04-29 13:05:34 18294

原创 OpenGL图形渲染概念

OpenGL图形渲染管线、VBO、VAO、EBO概念及用例图形渲染管线(Pipeline)图形渲染管线指的是对一些原始数据经过一系列的处理变换并最终把这些数据输出到屏幕上的整个过程。图形渲染管线的整个处理流程可以被划分为几个阶段,上一个阶段的输出数据作为下一个阶段的输入数据,是一个串行的,面向过程的执行过程。每一个阶段分别在GPU上运行各自的数据处理程序,这个程序就是着色器。部分着色器允许我们使用着色语言(OpenGL Shading Language)编写自定义的着色器,这样就可以更为细致的

2021-04-01 17:30:31 522

原创 OpenGL原理

https://blog.csdn.net/qq_31615919/article/details/80349172

2021-04-01 09:53:32 262

原创 UObject 概览及反射系统

UObject 概览及反射系统1 自省、反射我们先来看一下 Java 中的反射机制定义:Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。定义的前半句即自省,而后半句即反射。使用 UE4 的朋友应该大多数都是 C++ 开发者,但是如果大家使用过一些 C++ 之外的现代语言,就会明白自省和反射的重要性。自省与反射的用途非常广泛,比如很多语言(如 Python)的命令行脚本解释器、对象的自动序列化(通过自省

2021-03-09 17:37:16 1096

原创 UE4代码目录结构

2021-03-09 17:06:18 251

原创 2021-03-09

官方官方文档中文版 http://api.unrealengine.com/CHN/英文版 https://docs.unrealengine.com/en-us/虚幻学院(英文教程,未来可能有汉化)https://academy.unrealengine.com/官方B站https://space.bilibili.com/138827797/#/C++【侯捷】《C++系统工程师》课程【吕鑫】【VS2015】C/C++/数据结构教程(推荐有选择的看)http://class.qq.

2021-03-09 16:58:46 192

原创 Unreal Engine 4学习资料整理

官方官方文档中文版 http://api.unrealengine.com/CHN/英文版 https://docs.unrealengine.com/en-us/虚幻学院(英文教程,未来可能有汉化)https://academy.unrealengine.com/官方B站https://space.bilibili.com/138827797/#/C++【侯捷】《C++系统工程师》课程【吕鑫】【VS2015】C/C++/数据结构教程(推荐有选择的看)http://class.qq.

2021-03-09 16:56:54 420 1

原创 UE4引擎源码:源码整体文件结构

首先根据目录文件夹整体看一下结构,版本4.2Binaries里面是一些配置文件和第三方的配置文件,全部是xml,从这可以看到虚幻4都用了什么第三方工具,有各个平台的图形库,还有声音库,物理库(PhysX3),VR,图形显卡,Mono,,等等Build各个平台编译需要的,有一些批处理和xml文件等等有安卓,IOS,TVOS,HTML5等等Config各个平台的参数设置Documentation文档Extras额外的第三方工具有Maya动画Ragging工具...

2021-03-09 16:48:08 923

原创 虚幻引擎程序经典帮助文摘

1.从源代码构建虚幻引擎https://docs.unrealengine.com/zh-CN/ProductionPipelines/DevelopmentSetup/BuildingUnrealEngine/index.html#%E8%AE%BE%E7%BD%AE%E8%99%9A%E5%B9%BB%E5%BC%95%E6%93%8E

2021-03-09 16:00:48 214 3

原创 虚幻4中常用按键和快捷键

虚幻4中有一些按键和快捷键很常用,牢记它们并运动到实际的项目开发中,将会大大地提高你的工作效率和使得工作更简便快捷。下面将列举它们出来:按键 动作 鼠标左键 选择actor 鼠标左键+拖动 前后移动和左右旋转摄像头 鼠标右键 选择actor并打开右键菜单 鼠标右键+拖动 旋转摄像头方向 鼠标左键+鼠标右键+拖动 摄像头上下左右移动 鼠标中键+拖动 摄像头上下左右移动 滑轮向上 摄像机向前移动 滑轮向下 摄像机向后...

2021-03-09 11:11:01 1851

转载 JavaScript 实现命名空间(namespace)的最佳方案

JavaScript 实现命名空间(namespace)的最佳方案——兼容主流的定义类(class)的方法,兼容所有浏览器,支持用JSDuck生成文档作者:zyl910一、缘由在很多的面向对象编程语言中,我们可以使用命名空间(namespace)来组织代码,避免全局变量污染、命名冲突。遗憾的是,JavaScript中并不提供对命名空间的原生支持。有不少人提出各种办法在JavaScript中模拟命名空间,但这些办法存在以下问题——办法不统一。各种办法各有优缺点,分别适合在不同的场合使用。但.

2021-02-03 11:09:52 2431

转载 百度地图API详解之地图坐标系统

百度地图 经纬度坐标转换为像素坐标原理 // 投影实例 const projection = map.getMapType().getProjection() // 地图div宽高 const box = map.getSize() const zoom = window.Math.pow(2, 18 - map.getZoom()) // 中心坐标 转 平面坐标 const center = projection.lngLatT..

2021-01-18 15:53:08 1835

原创 百度地图将地图坐标转换成页面像素

百度地图将地图坐标转换成页面像素最近使用百度地图做数据显示,但是使用自己定义的图片以及便签必须在页面上面定位才能达到效果,这必然就需要使用到像素坐标,网上百度许久,找到了一套可行的方法,以下代码测试可用,如有需要的伙伴可以参考/**********************基本参数开始**********************/MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0]LLBAND = [75,

2021-01-18 15:48:34 436

原创 GIS基础知识 - 坐标系、投影、EPSG:4326、EPSG:3857

GIS基础知识 - 坐标系、投影、EPSG:4326、EPSG:38571.大地测量学 (Geodesy) 1.1大地水准面 (geoid) 1.2参考椭球体(Reference ellipsoid) 2.坐标系(coordinate system) 2.1地理坐标系(Geographic coordinate system) 2.2投影坐标系(Projected coordinate systems) 3.Web Map 3.13.1 EPSG:4326 (WGS

2021-01-18 13:56:54 2121

原创 地理坐标(经纬度坐标)和屏幕坐标(xy坐标)间的转换

在我们的屏幕上,有一张地图,这张地图经过缩放、平移、旋转,最终地理坐标和屏幕坐标的关系大致如下图所示:这种关系要怎么描述呢?我们可以假设地图是一张纸,而屏幕是一堵墙。只要我们有两个图钉,我们就能把纸定在墙上。我们把这两个点称为锚点。锚点在屏幕坐标系上的坐标是(x1,y1)和(x2,y2),对应在地理坐标系上的坐标是(lon1,lat1)和(lon2,lat2)。那现在的问题就变成了,已知两个锚点的坐标,(1)地理坐标转屏幕坐标:已知任意一点的地理坐标(lon,lat),求它在屏幕上的坐标(x

2021-01-18 13:40:32 4444

原创 墨卡托投影坐标系(Mercator Projection)原理

墨卡托投影坐标系(Mercator Projection)原理及实现C代码 FYI 本博客初稿完成于2017年,内容更新于个人网站 - 简明版墨卡托投影坐标系,请移步阅读最新内容。 墨卡托投影是一种“等角正切圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定:假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。  ...

2021-01-18 11:33:49 10590

转载 经纬度坐标映射到平面直角坐标系

经纬度坐标映射到平面直角坐标系 一坐标系分类 1地心坐标系 2参心坐标系 3空间直角坐标系 4空间大地坐标系 5平面直角坐标系 二坐标系转换 三坐标系投影的实现source code 四坐标系投影的工具 一、坐标系分类  在大地测量学中,坐标系分为两大类:地心坐标系和参心坐标系1、地心坐标系  坐标原点与地球质心重合的坐标系。  世界大地坐标系WGS-84(worl..

2021-01-18 10:14:04 6011

转载 标准坐标系与火星坐标系(高德)百度坐标系之间互转

标准坐标系与火星坐标系(高德)百度坐标系之间互转这里先给大家介绍几个坐标系:1.WGS84:国际坐标系,为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。2.GCJ02:火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。3.BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标今天我要说的是,我们大部分的定位GPS设备以及硬件都是获取的WGS84坐标也

2021-01-18 09:50:11 885

转载 地理坐标系和投影坐标系之间的关系 基本概念

地理坐标系和投影坐标系之间的关系基本概念地理坐标系:为球面坐标。 参考平面地是椭球面,坐标单位:经纬度;投影坐标系:为平面坐标。参考平面地是水平面,坐标单位:米、千米等;地理坐标转换到投影坐标的过程可理解为投影。(投影:将不规则的地球曲面转换为平面)地理坐标系地球的三级逼近大地水准面地球的自然表面有高山也有洼地,是崎岖不平的,我们要使用数学法则来描述他,就必须找到一个相对规则的数学面。大地水准面是地球表面的第一级逼近。假设当海水处于完全静止的平衡状态时,从海平面延伸到所有

2021-01-18 09:29:15 3220

原创 GIS学习教程资料整理

https://blog.csdn.net/lewif/article/details/78684752

2021-01-18 09:25:36 238

原创 geroserver 问题集锦

You must configure either the server or JDBC driver (via the serverTimezone configuration property)使用JDBC连接MySql时出现:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC

2021-01-08 16:06:44 209

原创 Unity3D中摄像机的用法

1.Unity3D中摄像机的用法https://blog.csdn.net/crystal__love/article/details/46998299

2021-01-05 10:20:22 669

转载 mysql怎么设置远程连接

mysql怎么设置远程连接 1 2 3 4 5 分步阅读有时候我们在使用mysql数据库的时候,想设置远程连接,怎么设置呢,下面来分享一下方法工具/原料 mysql 设置远程连接方法 方法/步骤 1 第一步打开mysql客户端,输入连接密码,按回车键,如下图所示: 2 第二步输入“use mysql”,进去mysql数据库,如下图所示: 3 第三步输入“GRANT ALL P.

2020-12-15 15:58:05 1230

原创 C#对字典Dictionary 的添加,遍历

C#对字典Dictionary 的添加,遍历,移除系列操作://一、创建泛型哈希表,然后加入元素Dictionary<string, string> oscar = new Dictionary<string, string>();oscar.Add("哈莉?贝瑞", "《死囚之舞》");oscar.Add("朱迪?丹奇", "《携手人生》");oscar.Add("尼科尔?基德曼", "《红磨坊》");oscar.Add("詹妮弗?康纳利", "《美丽心灵》")

2020-12-15 12:14:38 2598 1

转载 GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件

GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件GMap.NET是什么?来看看它的官方说明:GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding, directions and maps from Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigP

2020-12-15 08:53:49 1458

原创 Unity打包安卓APK详细步骤

Unity打包安卓APK详细步骤分类专栏:Unity3D文章标签:Unity3DAndroidAndriod开发环境变量配置版权声明:Unity版本2017.4.16f1操作系统:Win10第一步、安装JDK;第二步、下载并安装Android SDK;第三步、在Unity中发布到Android平台。一、安装JDK官网:http://www.Oracle.com/technetwork/Java/javase/downloads/index.html...

2020-12-14 10:07:19 9170

转载 瓦片地图加载

OpenLayers之加载多源数据四:万能瓦片地图加载秘籍不睡觉的怪叔叔2018-08-02 13:46:597175收藏17分类专栏:开源GIS目录 加载简单的瓦片地图瓦片地图之高德地图瓦片地图之百度地图重新定义OpenLayers3的瓦片坐标系分析瓦片地图坐标系解密瓦片url加载微软Bing中文地图Google地图加载其实加载瓦片地图基本是大同小异,你可能会觉得很惊讶,因为网上在线的地图服务,看起来都不一样,本节即将为你解开这层神秘...

2020-12-04 17:16:48 2575

原创 UE4中学习集锦

1.UE4 正式打包之PC端exe 常用设置(基础版)https://blog.csdn.net/qq_39947564/article/details/851965752.UE4中打包项目为.exehttps://blog.csdn.net/Huangpengyu123/article/details/106611508?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.c

2020-11-05 11:02:04 146

原创 Cocos creator学习集锦

1.在Cocos creator中使用Vscodehttps://blog.csdn.net/osuckseed/article/details/84719329

2020-10-28 15:07:26 463 1

转载 Qt5编程入门教程

Qt 是一个跨平台的 C++ 框架(C++库),目前最新的版本是 Qt5。Qt5 还包含了很多小版本,其中推荐Qt5.6或Qt5.9,这两个版本是 LTS 版本(即长期支持版本),Bug较少,相对稳定。Qt 除了支持界面设计(GUI编程),还封装了与网络编程、多线程、数据库连接、视频音频等相关的功能。这套 Qt 教程以 Qt 5.9 为基础来介绍 Qt 开发,配有精美的图片以及完整的示例程序,几乎涉及 Qt 编程的所有模块。注意,本教程不再对 C++ 语法进行介绍,没有 C++ 基础的读者...

2020-10-26 13:59:51 553 1

转载 骑马与砍杀2:霸主 开发日志 ——战斗AI

人工智能(AI)是单机游戏中最重要的功能。游戏体验的关键在于正确的做法:这必须是无形的,才能让玩家(或多或少)忘记他们是在和电脑玩。它必须聪明而且灵活才能成为一个有价值的对手,但也不能太强——毕竟人类能力是有限的,还有就是玩家作为游戏的主角也需要赢。所以必须利用手头的游戏机制,不只是为了好玩和多样性,而且还能向玩家展示可以做到哪些。在骑砍2中更是如此,一个基于技能的战斗和史诗般的大规模战斗才是游戏体验的核心。在上一作游戏中,AI的战斗表现很出色,但并不是最先进的。战术AI用的比较基础的,要么全军突.

2020-10-23 14:54:47 559

平面多边形域的快速约束Delaunay三角化

三角化是计算几何的重要研究内容之一,在曲 面可视化裁剪、立体平版印刷技术、服装设计、地形 建模、图形重建、曲面插值、有限元分析等领域中有 着广泛的应用.

2010-12-04

eMbedded 4.0

eMbedded 4.0

2008-05-20

jpegCompress

支持任何图片格式的压缩,压缩比率大于100。

2008-03-14

空空如也

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

TA关注的人

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