Caedmom Blog

Computer Science

[Translation]The Art of Render

Architecture Render

【译文】渲染艺术-7种常见的建筑效果图风格 在以前渲染的效果图中,会将建筑展示在饱和度不高的天空下[译注1];在歌剧院举办的高级定制服装秀中,超模们面无表情高冷地走着猫步,增加了歌剧院空间的排他性。这些模式仍然被广泛使用,但从早期的建筑渲染对比来看已经取得了重大的技术进步,现在的渲染允许适当的使用电影中的技巧:利用颜色、照明、构图等来表达人们的情绪情感。 以...

Constant Pointer

Secondary Constant Pointer

1. 二级常量指针作形参的传参问题 一个函数的形参为指向常量的指针,比如:const int* 给它传递int*的参数,编译是可以通过的,不需强制转换。 如果是const int**的参数,给它传递int**的参数,则编译不能通过,需要进行强制转换。 why? C++ void fun1(const int* a) {return;} vo...

UE4-Games Fullscreen in VR Model

How to Set UE4-Games Fullscreen in VR Model

1. 重新编译引擎 编译和非编译的最大区别在于,你可以对UE4的底层源码进行修改,添加你自己的设置,如果这样不明白的话,举个例子。就是UE4 VR预览模式一直以来都是两边是黑色的,我们无法去改动,这是官方下载的非编译版的问题。因为它不能修改源码,所以就算你知道哪里有问题,也不能改动。 而编译版呢,区别在于,我知道哪里出问题了,我就可以在那里进行改动,就...

Build Unreal Engine 4

Build Unreal Engine 4 from Source Code

1. 资源下载与操作 1.1. 打开EpicGames的github页面,下载zip文件(大约184MB) 1.2. 解压zip文件,点击运行Setup.bat 1.3. 检测和更新依赖项(大约1-2小时) 1.4. 生成解决方案 2. 编译引擎 2.1 双击 UE4...

UE4 Export Videos By Matinee

Export Videos From Unreal Engine 4 By Matinee

如何输出的视频? 音乐是用什么软件配上去的呢? matinee做摄像机动画并导出序列,音乐以及序列合成视频是用AffterEffects做的。 导出序列和导出视频有什么区别? 导出视频就相当于在录屏,最终输出的是视频,那么你录制运行时如果卡顿的话,都会被录制下来,而导出序列最终输出的是图片序列,录制运行时候就算卡顿不是很流畅,但是序列是严格按照摄像机动画设定的秒数去记录每一帧...

Unity Fog of War

unity plug-in

使用Tasharen Fog of War插件实现战争迷雾 先上效果图: 接下来下载使用Tasharen Fog of War1.0插件,做了个小demo,写帖子时参考了这篇文档,感谢! 1.导入插件 2.将插件自带的Fog of War预设拖入场景 接着创建一个地形,和两个Cube,一个是CubeRedEnemy(以下简称Enemy)为红色,一个是CubeGreenHero(...

OpenGL Teapot

OpenGL Dev Environment Setup

0. OpenGL开发环境简介 基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL、Glu32.DLL,这两个文件在 安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里假定用户将Windows NT安装 在C盘上)。OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,开发基于OpenGL的应用程序, 必须先了...

Design Pattern - Factory

Creational Pattern

1. 创建型模式 1.1. 工厂(Factory)模式 1.1.1. 为了提高内聚(Cohesion)和松耦合(Coupling),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们**可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。 n多个子类继承自抽象基类,我们不得不在每次用到子类的地方就编写诸如“ new xxx ;”的代码,引入两...

Unity NGUI Slide

Make Slide by Change Materials

效果图 本文使用NGUI制作按钮,通过点击按钮,改变Cube(或其他带有MeshRenderer组件的对象)的材质来达到切换图片的效果。 操作步骤 1.新建工程,导入NGUI插件。 2.随意创建一个对象(如sprite),以创建UI Root,NGUI»Create»Sprite,删除Main Camera。 ...

Pointer

Basic Pointers in Cpp

1. 指针的概念 在计算机中,内存是由若干存储单元组成的,每个存储单元均有一个唯一的编号用于标识该存储单元,该编号称为存储单元的地址。 在C++中,数据是用变量或数组等形式存放在存储器中的。 如int a,该语句定义了整形变量a,编译系统将为变量a分配内存单元,用于存放整数。假设编译系统为变量a分配的内存单元地址为2014,则为a分...