随心而行

2017-01-12
NGUI概述

NGUI概述

NGUI介绍

NGUI是Unity中最流行的UI插件,在UGUI出现前几乎是Unity唯一的UI解决方案。
NGUI是一个提供高效事件通知框架的强大UI系统。NGUI遵循Kiss准则,其中类代码简洁,多数在200行以内。程序员可以方便的扩展其组件类代码以获得定制的功能。
NGUI官方网址
NGUI官方文档地址

NGUI下载

我们可以从unity商店购买NGUI,或者下载其免费版本。
NGUI的Unity商店
当然也可以下载网上其它人提供的版本学习研究。
NGUI 3.10.2

NGUI导入

阅读此文

2016-12-25
WebGL编程模型

本文主要介绍编写一个原生的WebGL程序需要哪些步骤。

WebGL程序的软件结构

默认情况下,一个动态网页程序只包括HTML和JavaScript两种语言。
而在WebGL程序中,还包括了第三种语言:GLSL ES。

enter description here

WebGL编程模型

阅读此文

2016-12-03
虚幻引擎游戏命令

命令行参数和控制台命令

游戏命令包括两种,一种是运行游戏时候指定的命令行参数,另外一种则指的是进入游戏后输入的控制命令。

控制台命令

对于虚幻三来说,控制台命令分为两种,一种是引擎中已经支持的可执行命令,这些命令都是在C++类的Exec函数中进行处理的。另一种是带exec前缀的脚本函数,称为可执行函数。
下面根据用途统一总结,不进行区分。

常用命令

阅读此文

2016-12-03
虚幻引擎命令行参数

命令行参数是指通过命令行或者可执行文件快捷方式启动游戏进程的时候,附加在后面的一系列参数。

命令行参数

命令行参数分为两种,一种是编译游戏代码时候需要用到的命令行参数。另一种则是在启动游戏进程时候指定的参数。

编译命令行参数

编译代码期间会用到的参数如下:

阅读此文

2016-08-15
使用DebugView实时显示Log

DebugView简介

DebugView是一个监视本地系统或者通过tcp/ip连接的网络系统的OutputDebugString输出的应用程序。DebugView不仅能够监视Win32应用的debug输出,还可以监视内核模型的debug输出。因此,如果使用OutputDebugString来打印调试信息的话,就可以在程序运行时候通过DebugView来实时显示程序的调试信息。
这种方式在某种意义上,比将Log打印到文件中,关闭程序后再查看Log输出的方式更加方便。而且可以将这两种调试程序的方式结合起来,既使用DebugView来实时显示调试信息,又将调试信息输出到Log文件中,方便以后分析。

安装DebugView

下载地址:DebugView
下载后面后解压压缩包,发现里面有三个文件:Dbgview.exe、dbgview.chm、Eula.txt。
Dbgview.exe就是我们要使用的实时显示Log工具。dbgview.chm是自带的文档,有不懂的地方可以查阅该文档。
现在可以将DebugView.exe放到任何你喜欢的目录,比如桌面。

配置DebugView

阅读此文

2016-07-09
WebGL介绍

WebGL概述

什么是WebGL?WebGL简单的说就是在Web中渲染OpenGL的技术,也可以理解为把OpenGL的接口移植到浏览器中使用。具体的可以参考WebGL的维基百科
使用WebGL可以通过编写网页代码在浏览器中渲染三维图像,而且不需要任何的插件,比如Adobe Flash Player等。
WebGL在最新的浏览器中得到了广泛支持。

WebGL与HTML5的关系

HTML5是最新的HTML(超文本标记语言)的最新修订版本。
HTML5中新增了<canvas>标签用于绘图。在HTML5之前,只能使用<img>标签在网页中显示静态图片,如果要显示动画得借助于Adobe Flash Player等第三方插件。在HTML5中,可以在<canvas>标签上绘制二维图像,也可以使用WebGL绘制三维图像。
WebGL相对于HTML5的关系就好比是OpenGL库和三维应用程序的关系。WebGL只是提供了底层的渲染和计算的函数。

WebGL与JavaScript的关系

阅读此文

2016-07-09
关于博客的最近变动

博客移动到www.xpc-yx/blog

以前一直想用个炫酷的个人页放到网站根目录,一直没弄好,不了了之。wordpresss用多了之后发现挺简单的,只需要把wordpress安装到空间的public_html的子目录就可以,于是在网上搜索wordpress安装到子目录解决之。目前首页放的是一个ThreeJs渲染的天空盒,以后再慢慢修改吧。

文章采用markdown编写

一直以来都是直接在wordpress的后台编辑器写文章,去年开始用微软的windows live write发布文章,可以参考试试windows live write发布博客
Markdown的语法比较简单,随便找个文档尝试下,找个编辑器就可以开始写作了。关于编辑器的选择,我现在也不知道,找了好久也没觉得哪个特别合适。大家都觉得好的大部分要收费,或者是付费会员服务。目前选择了小书匠,先尝试一段时间吧。小书匠可以将文章存储在云空间上,我选择了保存到我的印象笔记中,这样内容就不会轻易丢失了,打算以后所有的写作都使用Markdown了。
wordpress的Markdown插件我选择了JP Markdown,代码编辑器继续使用SyntaxHighlighter Evolved。不过SyntaxHighlighter Evolved和JP Markdown有一个兼容问题,无法识别<>符号。为此需要将将插件代码syntaxhighlighter\syntaxhighlighter.php 中的

1
$code = ( false === strpos( $code, '<' ) false === strpos( $code, '>' ) 2 == $this->get_code_format($post) ) ? strip_tags( $code ) : htmlspecialchars( $code );
阅读此文

2016-04-23
使用MFC创建基于图片的不规则窗口程序

上一篇文章定制IE浏览器弹窗中的外部窗口就是一个不规则窗口,这篇文章介绍下其是如何实现的。思路是根据这张图片创建一个不规则区域,然后将窗口的区域设置为该不规则区域。

第一步,在资源文件rc中设置对话框的属性

Border:None

Style:Popup

第二步,导入背景图片到程序资源中

阅读此文

2016-04-21
使用CWebBrowser2定制IE浏览器窗口

在客户端程序中嵌入浏览器,有两种方式,一种是使用微软的IE控件,一种是使用CEF。这里介绍的是使用CWebBrowser2类(在MFC程序中插入IE的Active控件生成),定制内嵌浏览器窗口的一些经验。

本文的经验积累于实现逆战退出游戏时候的广告弹窗的过程中,下面Show一下这个自带萌妹子的弹窗吧。

这是一个无边框的Windows对话框程序,并且是一个基于背景图片的不规则弹窗窗口;内部嵌入了一个浏览器控件窗口,这个漂亮的妹子就是浏览器控件打开的网页显示出来的。对这个妹子有兴趣的,可以去玩一把逆战,退出客户端的时候就会出来这个弹窗了。

下面介绍一些关于实现该弹窗浏览器的Tips。

阅读此文

2016-03-17
三维表面上基于笔画的纹理交互式合成

这是我的毕业论文题目,两年前的东西了,来出来纪念下吧。后面附演讲pdf。

这讲的是在一个三维模型上手绘纹理的故事,纹理是用户选择的样本纹理。因此,实际上我的毕业论文就是做了一个上纹理的工具。用户选择不同的模型,同时选择不同的样本纹理(符合马尔科夫随机场的样本纹理),就可以用鼠标在模型上刷三维纹理了。

看起来挺好玩的,实际上整个系统的实现过程非常繁杂。这个系统主要用了两个算法,一个是扩展指数映射计算笔画的局部参数化,另外一个是根据样本纹理动态合成新的大纹理(要贴到笔画区域),这个用了并行可控制纹理合成算法,在约束条件下做了特殊实现。由于扩展指数映射用的是他人的实现代码,严重影响了整个系统的速度,也影响了我后面做实验的效果,非常恶心,所以不到无奈时候,千万不要用所谓的牛人的资源。

系统流程:

阅读此文