自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huangzhipeng的专栏

踏踏实实地技术

  • 博客(72)
  • 资源 (16)
  • 收藏
  • 关注

原创 Urho3D初识

Urho3D是一款开源的2/3D引擎,功能上还是蛮全面的,本篇文章是个人初次接触该引擎做的一个初探。github: https://github.com/urho3d/Urho3D 源码树:项目Build确保Cmake已经安装, 并且PATH中配置了cmake的bin目录1. 生成vs2015    运行cmd.exe, 切换到引擎目录, 执行srcipt\cmak...

2018-10-24 15:31:03 1267

原创 Why Memory Barrier

为什么需要Memory Barrier

2017-06-28 15:56:44 2473

原创 GPUView摘录

GPUView的背后

2017-02-16 22:54:14 2852

原创 如何编译 bgfx

bgfx是一个开源的图形api无关的渲染库,今天刚结识它,打算用它作为个人引擎的图形库中间件。     如何编译这个工程呢?我需要一个 sln工程文件,它的makefile文件我不想直接用,好在作者已经提供了工具。且看下面步骤:     Step by Step:     1.  下载bgfx源码:https://github.com/bkaradzic/bgfx 到目录E:\JetX

2017-01-22 23:09:52 9460 1

原创 PBR的初探

BPR初识,没有那么神秘。

2017-01-19 23:25:25 4450 2

原创 存储器层次结构

本文主要是对《深入理解计算机系统》第6章存储层次结构的总结。一、主存的访问        总线结构:                a. CPU执行读内存指令             movl A, %eax  地址A的内容被加载到寄存器%eax中。CPU芯片上称为总线接口(bus interface)的电路发起总线上的读事务。读事务由三个步骤组成的。首先,CPU将地址A放到系

2017-01-11 22:38:07 1951

原创 游戏的世界World

这是一篇杂文....TODO:         1. 什么是World, 它的作用, 每时每刻必须存在World         2. World里都哪些演员         2. 启动时加载World         3. 从一个World A 切换到另一个World B             3.1  阻塞式切换             3.2 非阻塞式切

2017-01-05 11:33:55 2351

原创 CS模式网络游戏的运动同步总结

概述       目前有2种网络游戏拓扑结构:Peer to Peer和Client/Server模式。在RTS类型的游戏中大都使用Peer to Peer的帧锁定同步算法(如红警、帝国时代、war3等)。目前主流引擎都自带的是Client/Server模式的服务器(如Unity3d, UE4等)。在此推荐《multiplayer game programming》,该书对帧同步算法和CS模式

2017-01-02 14:35:54 5134

原创 TODO:

1. Minix3http://www.minix3.org/2. C Complier https://github.com/drh/lcc3. KlayGE Enginehttps://github.com/gongminmin/KlayGE?files=14. A RTS Game

2016-12-19 22:48:05 2031

原创 计算切空间T,B

个人对 Normal map切空间推导的想法

2016-10-24 22:34:13 3133

原创 关于dFdx() dFdy()函数

dFdx, dFdy的实现

2016-10-24 15:27:54 5872

转载 texture采样时如何判断是mignification or magnification,和mipMap的选择算法。

此书的7.5.4小节 7.5.4 Filtering and Mipmaps

2016-10-20 23:00:39 2153

转载 Multi-Samples AA

多重采样科普

2016-10-20 20:16:51 1619

转载 Deferred Shading vs. Deferred Lighting

Deferred Shading VS Deferred Lightinghttp://www.realtimerendering.com/blog/deferred-lighting-approaches/

2016-10-17 20:55:01 2789

转载 颜色的科学

颜色视觉和颜色空间

2016-10-11 18:25:24 2014

转载 关于Gamma Correct的讲述

http://blog.csdn.net/candycat1992/article/details/46228771下面是个人通过查找一些资料和上文的阅读体会:1.  关于人眼     人眼对暗部的变化更加敏感,而对亮部变化其实不是很敏感。也就是说,人眼认为的中灰其实不在亮度为0.5的地方,而是在大约亮度为0.18的地方(18度灰)。如此可得,如果我们在图片中直接存储 亮度值(相等间隔的离散值, ...

2016-09-28 22:45:20 2911

原创 《深入理解计算机系统》

《深入理解计算机系统》此书在大学二年级上学期偶遇过,第一眼就觉得是不可不看之作,那时候没有啥基础,就将该书抄写了一遍,CPU那章看的懵懂,但是激发了我对计算机的认识,10年后的今天又阅读此书,受益匪浅,特别是第四章CPU的讲解,好好地把大学课程 模拟电路和数字电路复习了一把,配合《编码奥秘》一书,以前数字电路没认真学习,现在才发现 组合电路和时序电路的奥妙!  现在特此根据该书的verilog语言

2016-08-06 19:46:56 2975

原创 终于将深入理解计算机系统第四章模拟器运行起来了!

2016-07-19 23:05:31 3039

原创 UE4 Smart_Pointer_Library

虚幻4的智能指针实现:Engine\Source\Runtime\Core\Public\Templates\SharedPointerInternals.hEngine\Source\Runtime\Core\Public\Templates\SharedPointer.h如下图:

2016-06-28 19:56:22 2136

原创 这些年遇过的好东西

1. 《编码的奥秘》2. 《深入理解计算机系统》3. 《Intel 汇编语言》4. 《Win32下汇编语言编程》5. 《Gof 设计模式》6. 《Linux 0.11源码分析》7. 《深入理解Linux内核》8. 《Unix环境下高级编程》9. 《编译原理》10. 《LCC》11. VirtualBox源码工程12. Lua源码工程13. Spide

2016-06-18 22:34:41 1821

转载 IO Complement Port(完成端口)

参考:        1.  http://www.cnblogs.com/lancidie/archive/2011/12/19/2293773.html   此文很详细地阐述了Overlapped IO, 并重点说明和实现完成端口范例。        2. 《Win32多线程程序设计》 侯捷译.    第六章Overlapped IO部分摘录:   1.所谓 sca

2016-06-02 09:17:47 1326

转载 UTF-8编码规则(转)

UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5,是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,所以可以看出unicode是给出一个字符的范围,定义了这个字是码值是多少,至于具体的实现方式可以有多种多样来实现。UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码

2016-05-29 22:24:58 434

转载 字符集、编码和Unicode

部分来自《深入理解C++11》。      在计算机中,总是使用二进制位组合来表示复杂的信息。首当其冲需要被标识的就是字符。为了使二进制组合标识字符的方法在不同设计的计算机间通用,就迫切需要统一的字符编码方法。于是在20世纪60年代的时候,ASCII字符编码就出现了。在ANSI颁布的标准中,基本ASCII的字符使用了7个二进制位进行标识,这意味着可以标识128种不同的字符。这对英文字符(以及一

2016-05-29 22:23:22 629

原创 UE4之SlateUI系统初探

问题列表:        1.  Slate是什么        2.  整个编辑器都是用Slate做得吗        3.  场景的绘制工作是如何与Slate结合的?

2016-05-26 21:51:34 11479

原创 UE4之GamePlay

问题:            1. World与Level的区别和联系            2. Actor的生命周期            3. Player、PlayerController的概念            4. 用户输入的响应            5. PlayMode

2016-05-18 16:45:48 2914

原创 UE4之对象系统(0)

问题:            1.  C++类的反射            2.  C++类成员反射            3.  C++类是如何让编辑器感知的            4.  C++类是如何让Blueprints感知的            5.  C++类对象的Clone

2016-05-17 21:10:50 1630

原创 开始学习UE4

我的学习步骤记录:1. 下载github源码,编译通过(按照官方的Readme来)2. 官方文档https://docs.unrealengine.com/latest/INT/     阅读顺序:     A.  Unreal Editor Manual     B. Get Started with UE4     C. Engine Features (只了解,不细究

2016-05-17 21:03:01 3727

原创 算法设计方法小结

本文总结了常用的5种算法设计办法和理念. 最优化问题(optimization problem)         每个最优化问题都包含一组限制条件(constraint)和一个优化函数(optimization function), 符合限制条件的问题求解方案可称为可行解(feasible solution), 能够使得优化函数取得最佳值的可行解称为"最优解" (optimal s

2012-11-10 23:48:57 3005 1

转载 高动态光照渲染(维基百科)

高动态光照渲染(High-Dynamic Range,简称HDR),电脑图形学中的渲染方法之一,可令立体场景更加逼真,大幅提升游戏的真实感。现实中,当人由黑暗地方走到光亮地方,眼睛会自动眯起来。人在黑暗的地方,为了看清楚对象,瞳孔会很大张开,以吸收更多光线。当突然走到光亮地方,瞳孔来不及收缩,所以唯有眯上眼睛,保护视网膜上的视神经。而电脑是死物,唯有靠HDR技术模拟这效果——人眼自动适应光

2012-09-15 14:04:50 6677

原创 凹凸贴图(bump mapping)

基本思想           1.  凹凸纹理的基本思想是:用纹理去修改物体的法向而不是颜色。           2.  物体表面的几何法向保持不变,我们仅仅改变光照明模型计算中的法向。           3.  凹凸纹理没有物理意义上等价的操作。

2012-09-09 12:40:41 1988 1

原创 球面贴图(Sphere Map)

球面贴图用于环境反射(reflection), 纹理坐标的生成与cube map的reflection mode类似:推导如下:顶点处理器:// Sphere Mapping Shader// Vertex Shader// Richard S. Wright Jr.// OpenGL SuperBible#version 130/

2012-09-08 14:14:39 19302 2

原创 立方体纹理(cube map)

概念:         立方体纹理是一种特殊的纹理技术,它用6幅二维纹理图像构成一个以原点为中心的纹理立方体。对于每个片段,纹理坐标(s, t, r)被当作方向向量看待,每个纹理单元都表示从原点所看到的纹理立方体上的图像。指定6个面的纹理图像:glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, GL_RGBA, imageSize,

2012-09-08 09:56:25 29986 6

原创 卡通(Toon)着色

CPU端代码设置:// This function does any needed initialization on the rendering// context. void SetupRC(void) { // Background glClearColor(0.025f, 0.25f, 0.25f, 1.0f ); glEnable(GL_DEPTH_TEST);

2012-09-07 21:53:08 2919 3

原创 溶解(Dissolve)效果

顶点着色,  正常处理顶点// ADS Point lighting Shader// Vertex Shader// Richard S. Wright Jr.// OpenGL SuperBible#version 130// Incoming per vertex... position and normalin vec4 vVertex;in vec3 vNormal

2012-09-07 21:16:48 5949

转载 quake3研究环境搭建

声明: 原文 http://www.cnblogs.com/vincent2600/archive/2011/09/12/2174056.html如果不去读quake3代码,作为一个游戏程序员是说不过去的,现在去读还不晚,肯定会碰到很多问题,解决问题的过程就是练级。hacking之前,首先是建立环境,运行调试环境。quake3是99年推出的,到现在已经十二年了,网上能找到一些关

2012-02-17 22:00:56 1961

转载 TangentSpaceVectors的创建

//-----------------------------------------------------------------------------// Name: createTangentSpaceVectors()// Desc: Given a vertex (v1) and two other vertices (v2 & v3) which define a //

2011-12-11 19:30:04 921

原创 3D动画种类

3D游戏中动画的分类:1. 结点动画2. 骨骼蒙皮动画(Skeleton Skin)3. 顶点动画(Morph Animation)4. 多种动画的blend5. 表情动画6. 群体动画7. 毛发动画8.纹理动画附:a. 反向动力学IKb.Ragdoll System(布娃娃系统)

2011-11-27 20:29:05 1746

原创 IrrLicht引擎阅读

此次阅读分析,打算从如下功能点进行1. 窗口设备(windows,  X-window, Image) 2. 3D Video Render Driver3. 渲染材质(Material)4. Mesh5. Animation6. 场景管理和渲染流程7

2011-10-11 14:35:23 708

原创 Bezier, B-Spline NURB曲线曲面

地址:svn co https://curve-surface.svn.sourceforge.net/svnroot/curve-surfacecurve-surface参考书籍:《Focus on Curves and Surfaces》Bezier曲线1. 令控制点个数为N (t + (1.f - t))^(N-1) 基函数系数B-Spli...

2011-08-09 22:00:26 3440

原创 推导quaternion小结中的最后两节结论

1.  p=qpq-1   利用rotate矩阵和四元数的cross product进行推导   上面求出了 w = 0,  x,同理可求出y, z(没有完成他们的计算). 下面我们来看看rotate矩阵(行向量形式) V = V * R(n,8).   得出的结果等于 qpq-1. 完毕! 2. 球面插值(SLERP)与根据四元数

2011-06-14 23:31:00 978

深入理解计算机系统 y86-pipe cpu

本人整理,并且已经绘制图像。

2016-08-06

PE格式解析,图文并茂,含代码

个人整理并绘制的PE格式,给出了源码. 目录表结构,section结构。 导入表,导出表,重定位表,资源

2012-06-08

汇编优化向量计算

详细讲述pc处理器高级指令优化 数学计算

2012-05-30

3D Game Engine Design for Mobile Phone with OpenGL ES 2.0.pdf

讲述了怎样在嵌入式平台上构建游戏引擎, 方法和建议. Opengl es2.0接口

2011-08-09

Focus On Model 源码

Focus On model书籍源码,不好找啊

2011-08-09

huanghe OS 0.01

个人OS,IA32 386平台, 实现实模式到保护模式切换 页目录切换,多进程管理

2011-07-22

quaternion class

四元数的类实现,并比较了slerp插值和根据定义进行插值,最后发现二者等价.

2011-06-16

myOpenGL v0.2

同myOpenGL的v0.1 JettHuang

2010-11-15

myOpenGL的实现

个人实现的opengl子集: 1. 点、线、三角面 2. 高德着色 3. 光照 4. 透视校正 5. 双线性纹理采样 6. DIBsection交换图像到DC

2010-11-15

Maya插件(三)源代码 vs2005

只对访问本人博客Maya系列文章的同志们有用

2010-09-17

Maya插件(二)源代码vs2005

只对访问本人博客Maya系列文章的同志们有用

2010-09-16

Maya插件(一)源代码 vs2005

只对访问本人博客Maya系列文章的同志们有用

2010-09-16

Maya插件(一)源码vs2008

只对访问本人博客Maya系列文章的同志们有用

2010-09-16

C++参考手册, English

C++ CookBook Table of Contents Preface Chapter 1. Building C++ Applications Chapter 2. Code Organization Chapter 3. Numbers Chapter 4. Strings and Text Chapter 5. Dates and Times Chapter 6. Managing Data with Containers Chapter 7. Algorithms Chapter 8. Classes Chapter 9. Exceptions and Safety Chapter 10. Streams and Files Chapter 11. Science and Mathematics Chapter 12. Multithreading Chapter 13. Internationalization Chapter 14. XML Chapter 15. Miscellaneous Colophon

2007-12-05

386保护模式教程

是李彦昌先生的作品,非常详细,图文并茂,chm格式。想学习INTEL 386 CPU知识的朋友可以下。

2007-12-05

GCC使用手册

使用GCC编译器的参考帮助

2007-12-05

空空如也

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

TA关注的人

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