Nivk经验分享

分享游戏世界的一点一滴

[软件渲染器入门]六-应用纹理、背面剔除以及一些WebGL相关

下面是本系列的最后一个章节了。我们将看到如何从Blender中导出贴图和纹理坐标来使我们的网格应用纹理。如果你已经成功的了解了之前的教程,应用一些纹理对你来说应该是小菜一碟。主要概念依旧是在每个顶点间插补一些数据。在本章的第二部分中,我们将看到如何提高我们的渲染算法性能。为此,我们将使用背面剔除来...

2016-03-02 01:53:15

阅读数:1925

评论数:1

[软件渲染器入门]五-平面着色和高氏着色

这可能是整个系列中最棒的部分:如何处理光照!在之前,我们已经搞定了让每个面随机显示一种颜色。现在我们要进行改变,计算出光的角度,让每个面有更好的光照效果。第一种方法叫做平面着色。它使用面法线,用这个方法我们也会看到不同面的效果。但是高氏着色则会让我们更进一步,它使用顶点法线,然后每一个像素使用3个...

2016-02-28 17:40:05

阅读数:2035

评论数:0

[软件渲染器入门]四-额外章节,使用技巧和并行处理来提高性能

由于我们的3D软件渲染引擎使用的是CPU运算,因此它将耗费大量的CPU处理时间。不过倒是有一个好消息,那就是CPU大多是多核心的。那么,我们可以想象一下使用并行处理来提高引擎性能。不过我们只能在C#中这么做,至于为什么Html5不可以,我将会稍后做出解释。我们在此篇章中可以学到一些简单的技巧,以此...

2015-11-29 23:26:26

阅读数:1261

评论数:0

[软件渲染器入门]四,填充光栅化的三角形并使用深度缓冲

本章我们将讲解如何使用三角形光栅化算法来填充三角形。然后,我们将使用深度缓冲,以避免在后面的面跑到前面来的问题。

2015-11-24 17:16:43

阅读数:2293

评论数:0

[软件渲染器入门]三,加载通过Blender扩展导出JSON格式的网格

3D建模有助于3D设计人员和开发人员之间的协作。设计人员可以利用其最喜欢的工具来构建场景或网格(3D Studio Max、Maya、Blender等……)。然后,他将作品导出为开发者可以加载的文件格式。开发者将最终将网格加载进实时3D引擎中。有很多种格式可以这么做。在我们的例子中,将使用Json...

2015-11-23 23:53:18

阅读数:3614

评论数:0

[软件渲染器入门]二,绘制线段和三角形来获得线框渲染效果

现在我们已经通过前面的教程编写相机、网格和设备对象的核心逻辑建立了3D引擎的核心,我们可以对渲染工作做一些增强了。下一步我们再连接点来绘制一些线条来组成一个线框渲染效果。

2015-11-23 19:14:31

阅读数:1962

评论数:0

[软件渲染器入门]一,编写相机、网格和设备对象的核心逻辑

我非常乐意通过一系列教程和大家分享如何建立所谓的”3D软件渲染引擎“。 ”软件渲染引擎“意味着我们将只使用CPU建立一个3D引擎,完全不使用GPU。(请不要忘记毁灭你的80386?) 我将与你分享C#、TypeScript以及JavaScript三种版本的代码。

2015-11-23 15:52:29

阅读数:3115

评论数:2

Xna内容管道及Xnb格式解析

前言: 内容管道的设计十分超前,乃至于至今看来都还算是一个比较新颖的资源处理方式。 本章将深入讲解内容管道的作用及Xnb格式分析。 本章主要内容有:         1.Xna简介         2.内容管道简介         3.内容管道默认支持表         4.内容管道处理流程 ...

2015-11-02 02:23:09

阅读数:1694

评论数:0

Visual Studio-JavaScript注释写法

用过Visual Studio的人应该对它的代码智能提示很熟悉了吧? 可是,如果您是一位Web开发人员可能就感觉不那么爽了。 因为Visual Studio对代码的提示太有限了! 不过,最近如果您关注jQuery的话,应该已经知道Visual Studio已经可以对jQuery进行比...

2014-03-16 15:33:54

阅读数:2599

评论数:2

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