海洋个人博客

喜欢自由的飞翔!

排序:
默认
按更新时间
按访问量

D3D渲染技术之简易框架

在上一篇博客中,我们介绍了D3D12初始化流程实现过程,本篇博客我们搭建一个简易的迷你型小框架用于实现我们的初始化流程,在游戏编程中,我们都需要定时器的封装,比如骨骼动画需要,联网也需要定期判断是否短线,断线后多久开始重连,帧的时间间隔等等,可见时间定时器是很重要的,在这里我们未雨绸缪也实现一个定...

2018-09-04 16:52:05

阅读数:240

评论数:0

谈谈Unity实体组件ECS与Jobs System

Unity2018版本提供了ECS和Jobs System功能,网上也有很多这方面的技术介绍,本篇博客从Unity架构优化的角度给读者介绍关于ECS和Jobs System的使用,结合着实际案例希望让读者更容易理解它们。 Unity 实体组件系统和 C# Job System 是两个不同的系统,...

2018-08-20 13:16:51

阅读数:700

评论数:0

手把手教你架构3D引擎高级篇概述

前几年写过一本书《手把手教你架构3D游戏引擎》电子工业出版社,主要内容讲的是固定流水线编程,目的是让读者理解第一代引擎是如何实现的,从本篇博客开始,给读者介绍关于使用可编程流水线自己搭建3D游戏引擎,我将它设为高级篇,我会从查资料学习技术最基本的讲起,教给读者如何一个人搭建一款接近商业的自研引擎,...

2018-08-16 15:39:57

阅读数:499

评论数:2

Unity大场景数据加载及优化方案

前段时间,有几个虚拟仿真公司跟我请教关于大地形的加载优化问题,它们使用的引擎都是自己研发的,引擎对于开发者来说,大同小异,它们的基本构造是一样的,关键是在于解决问题的方法,正是基于这个前提写了这个课程,希望给读者提供一些解决问题的思路。 目前,大地形动态加载已经成为当前游戏开发或者虚拟仿...

2018-08-07 16:29:55

阅读数:1528

评论数:5

学习3D引擎架构技术概述

近期对3D引擎的架构设计做了一个梳理总结,现在开发游戏都离不开引擎,这些引擎包括Unity引擎,虚幻引擎,Cocos2dx引擎,自研引擎等等。很多开发者只会利用他们写逻辑,遇到优化问题就束手无策了,遇到Shader编程以及优化就感到头疼,长此以往对自己技术提升非常不利的。要改变现有的状...

2018-05-08 22:04:28

阅读数:816

评论数:0

D3D12渲染技术之混合

本篇博客给读者介绍混合,见下图所示, 我们首先绘制地形,然后绘制木箱,然后将地形和板条箱像素放在后面的缓冲区上。 我们使用混合将水面绘制到后面的缓冲区,以便水像素与地形混合,并在后面缓冲区上放置像素,使地形和板条箱通过水显示。 从本篇博客开始,我们将研究混合技术,这些技术允许我们将当前光栅化的像素...

2018-10-14 10:12:42

阅读数:61

评论数:0

D3D12渲染技术之地形和水

在这个案例中,我们为山和水场景添加纹理, 第一个关键问题是我们在地上铺设草纹理, 因为地网格是一个大的表面,如果我们简单地在其上拉伸纹理,那么使用较少的纹理像素将覆盖每个三角形。 换句话说,表面没有足够的纹理分辨率; 我们会得到放大的纹理,因此,我们在地网格上重复草纹理以获得更高的分辨率。 第二个...

2018-10-12 13:37:21

阅读数:87

评论数:0

D3D12渲染技术之纹理案例

我们现在回顾一下将纹理添加到箱子模型上面,就跟以前的博客中提到的那样。下面我们详细介绍如何实现? 指定纹理坐标 GeometryGenerator :: CreateBox生成箱子的纹理坐标,以便将整个纹理图像映射到箱子的每个面上。 为简洁起见,我们仅显示正面,背面和顶面的顶点定义。 另请注意...

2018-10-11 09:39:08

阅读数:59

评论数:0

D3D12渲染技术之在着色器中采样

纹理对象在HLSL中定义,并使用以下语法分配给纹理寄存器: Texture2D gDiffuseMap : register(t0); 这个换成在Unity引擎或者UE4引擎中就是提供的可视化操作界面,而在DX中的表示是按照上面的写法,这样可以通过引擎对其进行赋值操作。 请注意,纹理寄存...

2018-10-10 13:35:38

阅读数:51

评论数:0

D3D1渲染技术之采样

在前面的博客,我们看到除了纹理数据之外,还有两个与使用纹理相关的关键概念:纹理过滤和寻址模式。 采样纹理资源时使用的过滤器和寻址模式由采样器对象定义, 应用程序通常需要多个采样器对象以不同方式对纹理进行采样。 创建采样器 正如我们将在下面看到的,采样器用于着色器, 为了将采样器绑定到着色器以供...

2018-10-08 10:07:41

阅读数:55

评论数:0

D3D12渲染技术之寻址模式

结合常数或线性插值的纹理定义了矢量值函数T(u,v)=(r,g,b,a), 也就是说,给定纹理坐标(u,v)∈[0,1] ,纹理函数T返回颜色(r,g,b,a)。 Direct3D允许我们以四种不同的寻址方式(称为地址模式):wrap,border color,clamp和mirror。 1、w...

2018-10-07 10:19:20

阅读数:61

评论数:0

D3D12渲染技术之过滤

纹理贴图的元素应该被认为是来自连续图像的离散颜色样本,它们不应该被认为是带有区域的矩形。所以问题是:如果我们的纹理坐标(u,v)与其中一个纹素点不一致,会发生什么?这可能发生以下情况。假设播放器放大场景中的墙壁,使墙壁覆盖整个屏幕,例如,假设显示器分辨率为1024×1024,墙壁的纹理分辨率为25...

2018-10-05 09:14:28

阅读数:80

评论数:0

D3D12渲染技术之创建和启用纹理

加载DDS文件 Microsoft提供了轻量级源代码来加载DDS文件: https://github.com/Microsoft/DirectXTK/wiki/DDSTextureLoader 但是,代码仅支持DirectX 11,我们修改了DDSTextureLoader.h / .cpp...

2018-10-04 09:11:49

阅读数:72

评论数:0

D3D12渲染技术之纹理数据源

为游戏创建纹理的最流行的方法是让美工在Photoshop或其他图像编辑器中制作它们,然后将它们保存为图像文件,如BMP,DDS,TGA或PNG。 然后游戏应用程序将加载时的图像数据加载到ID3D12Resource对象中, 对于实时图形应用程序,DDS(DirectDraw表面格式)图像文件格式是...

2018-09-30 09:46:07

阅读数:64

评论数:0

D3D12渲染技术之纹理坐标

Direct3D使用纹理坐标系,该坐标系包含一个水平延伸到图像的u轴和一个垂直于图像运行的v轴。 坐标(u,v)使得0≤u,v≤1,识别纹理上称为纹素的元素。 请注意,v轴在“向下”方向上为正(见下图)。 另外,请注意使用的归一化坐标间隔[0,1],因为它为Direct3D提供了与维度无关的范围;...

2018-09-29 09:55:14

阅读数:93

评论数:0

D3D渲染技术之纹理

纹理映射是一种允许我们将图像数据映射到三角形上的技术,从而使我们能够显着增加场景的细节和真实感。 例如,我们可以通过在每一侧绘制板条纹理来构建一个立方体并将其转换为板条箱下图所示。 在这里给读者再回顾一下如何学习纹理技术: 1、要了解如何指定映射到三角形的纹理部分。 2、了解如何创建和启...

2018-09-28 10:56:48

阅读数:63

评论数:0

D3D12渲染技术之光源

灯光有Point光源,Spot光源,Directional光源,Area光源等等,网上这方面的文章很多,在此我们就不详细介绍每个光源的计算公式了,我们直接介绍将光源应用到我们的案例中。先看我们已经实现好的案例截图: 顶点格式 照明计算需要表面法线, 我们在顶点级别定义法线; 然后在三角形的...

2018-09-27 17:58:08

阅读数:143

评论数:0

D3D12渲染技术之向量法线

面法线是描述多边形面向的方向的单位矢量(即,它与多边形上的所有点正交); 表面法线是与表面上的点的切平面正交的单位矢量; 观察表面法线确定表面上的点“朝向”的方向。上面说的两点分别见下图所示: (a)面部法线与面部上的所有点正交。 (b)表面法线是与表面上的点的切平面正交的矢量。 对于...

2018-09-25 09:51:14

阅读数:67

评论数:0

D3D12渲染技术之灯光

灯光在引擎中占用重要地位,引擎没有灯光就是漆黑一片,见下图,左边我们有一个没有照明的球体,在右边,我们有一个点亮的球体。 正如你所看到的,左边的球体看起来很平坦 - 也许它根本不是一个球体,而只是一个2D圆圈! 另一方面,右边的球体确实看起来是3D - 照明和阴影有助于我们对物体的固体形状和体积的...

2018-09-24 10:29:38

阅读数:75

评论数:0

D3D12渲染技术之网格地形

本篇博客我们将展示一个案例, 该案例实现在程序上构造三角形网格,通过偏移顶点高度以创建地形。 此外,使用另一个三角形网格来表示水,并设置顶点高度的动画以创建波浪。 此案例还切换到使用根描述符作为常量缓冲区,这允许我们放弃对CBV的描述符堆的支持。 我们用函数y = f(x,z)实现表面,...

2018-09-23 16:14:58

阅读数:87

评论数:0

提示
确定要删除当前文章?
取消 删除
友情链接:婚恋交友app有哪些  交友聊天相亲app源码  澳洲同志交友app  推荐兴趣交友app  熟女交友app  2017手机交友app  婚恋交友app都要交钱么  可以打电话的交友app  同城视聊交友app 收费  2018离异交友app  国外的交友app  美约交友app  小姐会上哪个交友app  高校交友app  同城交友app有哪些  国外交友app同志  交友app大全 同城  婚恋交友平台app  可以交友的app  相亲交友app哪个好用