自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

candycat

好记性不如烂笔头

  • 博客(150)
  • 资源 (4)
  • 收藏
  • 关注

原创 【Unity Shaders】Diffuse Shading——在Surface Shader中使用properties

在上一篇中,我们已经向Surface Shader中添加了一些properties。在这篇教程里,我们将学习如何在Shader中访问和使用它们,以便通过调整Inspector中的变量来改变渲染效果。准备工作在上一篇结束后,我们的shader代码如下:Shader "Custom/BasicDiffuse" { Properties { _EmissiveCol

2013-12-16 17:24:09 12565 9

原创 【Unity Shaders】Diffuse Shading——向Surface Shader添加properties

这次是在上一篇的基础上,进一步学习Unity Shaders的Properties。准备工作我们假设你已经进行了上一篇里的工作:创建了一个BasicDiffuse.shader,并且看到了Unity自动为你创建的代码:Shader "Custom/BasicDiffuse" { Properties { _MainTex ("Base (RGB)", 2D) =

2013-12-06 00:21:44 12812 11

原创 【Unity Shaders】Diffuse Shading——创建一个基本的Surface Shader

这一次的工作非常简单,我们主要是为了了解Unity Shaders的基本工作原理。准备工作创建一个新的Unity Project在Assets目录下新建一个文件夹:Shaders在Assets目录下新建一个文件夹:Materials实现在Shaders文件夹下,点击右键新建一个Shader,命名为BasicDiffuse,并打开它

2013-12-05 00:46:26 19493 12

原创 【Unity Shaders】概述及Diffuse Shading介绍

概述几个月以前我就一直在找关于Unity Shader相关的资料,大三的时候有一门叫《计算机图形学》,让我觉得如果游戏程序员要从beginner成长为advancer,就必须了解底层渲染的一些知识。Unity3D无疑是一个非常出色的游戏引擎,它让很多独立开发者真正能够独立开发一款让自己满意的游戏,而不需要考虑那些烦人的细节,正如Unity宣称的那样,让他们来做那些令人抓狂的事情吧!

2013-12-03 17:34:26 24996 20

原创 【闲谈】第一份实习(下)

第一份实习(上)还是五月份的时候写的,这么快就过去半年了。这周三刚刚去办了实习离职手续,现在可以把实习的事情写出来总结一下了。还是从面试开始讲,这次是在某招聘网站上自己翻着找到的,当时就是奔着游戏去的,所以找得也都是游戏公司。游戏公司找游戏程序员的比较少,也可能是我自己搜索不精,直到看到这家公司的时候眼前一亮,薪水也不错,重要的是做游戏的,使用的也是Unity3D引擎,我就投了简历。后来很快也

2013-11-25 00:04:05 8745 13

原创 【闲谈】我的大学

哎呀,我不是有意抄袭某名人的书名,不过想了好久都不知道起什么名字。”那些年我们编过的程序“?感觉最近”那些年“出现有点多,想想还是起个低调的名字比较好。过几天现在这台电脑就要光荣退休了,里面的很多东西大概也要该转移的转移,该删除的删除了。但毕竟是跟着我走过了大学三年,这一路的努力、欢笑、烦恼她都一步步看着我走了过来。既然是技术博客,当然伤风悲秋的事情就不写了,整理一下三年的coding经历(好

2013-09-15 14:36:26 11339 89

原创 【Unity技巧】统一管理回调函数——观察者模式

这次的内容有点类似设计模式里的观察者模式。但是和常规意义上的观察者模式也不是完全一致,所以各位就不要咬文嚼字啦!咦?设计模式?!不懂!没关系,说不定你以前就用过。开场白我们来想象一个场景。在加载一个模型时,你需要从网上下载,但是你并不知道下载需要花费多少时间。你所知道的是,当下载完成后,就可以把模型放在特定位置上,开始游戏。那么,我们怎样才能判断下载完成呢?一个简单的方

2013-09-04 17:31:14 14343 4

原创 【Unity技巧】使用单例模式Singleton

这几天想把在实习里碰到的一些好的技巧写在这里,也算是对实习的一个总结。好啦,今天要讲的是在Unity里应用一种非常有名的设计模式——单例模式。

2013-09-03 11:24:42 56138 30

原创 【Unity插件】LitJson杂谈

距离上一次更新博客已有一段时间了,一实习就懒了,嘿嘿。这次谈一下在实习里新碰到的一个Unity插件——LitJson(也可以去官网下载最新版)。开场白LitJson是一个开源项目,比较小巧轻便,安装也很简单,在Unity里只需要把LitJson.dll放到Plugins文件夹下,并在代码的最开头添加 “Using LitJson”就可以了。简单来说,LitJson的用途

2013-09-02 19:24:00 46391 23

原创 【OpenGL】使用随机采样实现soft shadow

本篇文章主要针对《OpenGL 4 Sharding Language Cookbook》一书中第七章——Shadow的第四节Creating soft shadow edges with random sampling解释而得。-----------------------------------------------------------------分割线-----------

2013-05-27 20:43:34 7068 3

原创 【OpenGL】关于OpenGL中Bind函数的理解

在OpenGL中,总是会遇到类似下面的绑定语句:glBindTexture(GL_TEXTURE_2D, renderTex);glBindFramebuffer(GL_FRAMEBUFFER, fboHandle);glBindRenderbuffer(GL_RENDERBUFFER, depthBuf);……一直都不是很明白这是什么意思,它们到底是绑定什么到什么上呢?绑定了又怎么

2013-05-25 23:22:17 9614

原创 【OpenGL】GLSL中的函数和子程序(subroutines)

这篇文章里讲一下在GLSL如何使用函数和子程序(subroutines)。在GLSL中使用函数GLSL支持函数,它们的语法结构和C很相似。但是调用约定会有所不同。下面,我们以一个普通的ADS(ambient,diffuse,specular)shader为例,熟悉一下GLSL中函数的用法。Vertex Shader:#version 400layout (locati

2013-05-25 09:55:04 13908 3

原创 【闲谈】第一份实习(上)

前几天终于把实习的事情确定了,想想从4月份开始考虑实习到现在找到,哈哈哈,还好像做梦一样,现在听别人说自己马上就要工作了,还觉得很不可思议。这篇文章是为了记录下我人生的第一次面试和第一次拿到实习offer的经历,也许很久以后看看还觉得当时自己真的很幸运、很青春。在四月一开始,其实还完全没考虑要实习的事情,只是因为参加了微软的女生开放日,知道他们在找实习生,那就投投看看呗,反正又木有什么损失。后

2013-05-23 22:29:10 7470 15

原创 【Unity探究】物理碰撞实验

这几天为了准备面试,所以决定对平时学习中的盲点扫盲一下,首先想到的就是物理碰撞。以前没有好好研究过,一直模糊不清,到底什么条件下才可以产生物理碰撞呢?只要其中一个有Rigidbody就可以了吗?所以进行了下面的实验。以下内容参考了Unity圣典的组件手册。--------------------------------------------------------------------

2013-05-17 23:52:07 8732 9

原创 【OpenGL】向Shader中传递数据

传递顶点属性信息之前讲过,vertex shader会被每个顶点调用,通常一个顶点会包含很多信息,例如顶点坐标、顶点法向量、纹理坐标等等,我们称这些信息为顶点的属性。在之前的OpenGL版本里,每个属性都对应了一个特定的通道,我们使用glVertex,glTexCoord,,glNormal(或者通过访问指针函数glVertexPointer, glTexCoordPointer, o

2013-04-21 16:23:18 32179 6

原创 【OpenGL】Shader概述

这篇文章讲述了Shader是如何编译和链接,最终在OpenGL程序中使用的。当然,不了解这些我们仍然可以正常工作,但是作为初学者,了解这些会让我更能明白自己在干嘛。。。综述哈,大名鼎鼎的Shader终于让我给见到了……之前在学习Unity3D的时候就被群里的大牛耳濡目染说Shader如何如何重要,现在终于轮到自己领教了。吐槽完毕,进入正题。Shader的编译器被内嵌到OpenGL库的内

2013-04-20 23:16:36 7589 1

原创 【OpenGL】初识OpenGL4.0

这篇文章主要是根据《OpenGL Shading Language Cookbook》一书翻译整理而得,介绍了环境的安装和一些基础知识。下面涉及到的库也可以到这里下载:http://download.csdn.net/detail/candycat1992/5275478--------------------------------------------------------------

2013-04-20 21:52:39 14503 3

原创 【OpenGL】OpenGL绘图的一点理解

主要是在这篇文章的基础上理解的,唉,这东西真麻烦,肖姐姐基本没讲OpenGL的具体工作,其实现在关于OpenGL有了很多新技术,但是按肖姐姐给的库,很多还都是很早的,已经是弃用或者不推荐使用的库,虽然可以说原理都一样,但是……为了实现作业,乱七八糟的搜资料,很多时间都是浪费在这上面,而且各种实现,比如在这个网上它应该是使用了最新的OpenGL3.3+版本,就和之前的不太一样,真是缭乱在风雨中啊,好

2013-04-15 15:50:08 4990 3

原创 [Android编程心得]Activity的生命周期函数

在使用Eclipse添加一个新的Activity时,系统会自动生成OnCreate()函数,而其他生命周期函数,例如OnStart() OnReSume()等它是不负责自动生成的,也因为这样,就会被很多开发者忽略,从而产生一些意想不到的错误。在之前翻译的文章中,分别讲过各个生命周期函数的用法,这里整理一下。下面是之前翻译的官方文档,里面包含了更详细的实例。[Andriod官方训练教程]

2013-03-26 17:50:02 4963 4

原创 [Android编程心得]Debug的一些技巧

在官方是实例程序中学到的。众所周知,使用Eclipse进行Android编程,最常用的就是使用Log.v(tag, value)来进行输出,从而进行debug。下面就是利用Log.v()的一种比较正规的Debug方法。如果是新手,那么下面的方法可能适合你。---------------------------------------------------分割线----------------

2013-03-26 15:04:28 2674 1

翻译 [Andriod官方训练教程]创建你的第一个App之开始另一个Activity

原文地址:http://developer.android.com/training/basics/firstapp/starting-activity.html------------------------------------------------------------------------------------------After completing the

2013-03-01 22:48:00 9184 11

翻译 [Andriod官方训练教程]创建你的第一个App之创建一个简单的用户界面

原文地址:http://developer.android.com/training/basics/firstapp/building-ui.html---------------------------------------------------------------------------------The graphical user interface for an

2013-02-28 23:52:51 4696

翻译 [Andriod官方训练教程]创建你的第一个App之运行你的App

原文地址:http://developer.android.com/training/basics/firstapp/running-app.html---------------------------------------------------------------------------------If you followed the previous lesson

2013-02-28 21:52:51 7285 2

翻译 [Andriod官方训练教程]创建你的第一个App之创建一个Android项目

原文地址:http://developer.android.com/training/basics/firstapp/creating-project.html-------------------------------------------------------------------------------------An Android project contains

2013-02-28 16:58:36 10833 1

翻译 [Andriod官方API指南]连接之蓝牙

Bluetooth —— 蓝牙The Android platform includes support for the Bluetooth network stack, which allows a device to wirelessly exchange data with other Bluetooth devices. The application framework provid

2013-02-10 15:49:37 16778 3

翻译 [Andriod官方训练教程]保存数据之保存键-值对的集合

原文地址:https://developer.android.com/training/basics/data-storage/shared-preferences.html---------------------------------------------------------------------------------------------------------------

2013-02-04 18:42:05 2308

翻译 [Andriod官方训练教程]使用Fragment创建一个动态的UI之与其他Fragments进行交互

原文地址:https://developer.android.com/training/basics/fragments/communicating.html-----------------------------------------------------------------------------------------------------------------------

2013-02-03 20:24:04 6805 2

翻译 [Andriod官方训练教程]使用Fragment创建一个动态的UI之创建一个灵活的UI

原文地址:https://developer.android.com/training/basics/fragments/fragment-ui.html-------------------------------------------------------------------------------------------------------------------When

2013-02-03 19:59:27 5387

翻译 [Andriod官方训练教程]使用Fragment创建一个动态的UI之创建一个Fragment

原文地址:https://developer.android.com/training/basics/fragments/creating.html--------------------------------------------------------------------------------------------------------------You can thin

2013-02-03 14:59:26 2211

翻译 [Andriod官方训练教程]使用Fragment创建一个动态的UI之使用Support Library

原文地址:https://developer.android.com/training/basics/fragments/support-lib.html------------------------------------------------------------------------------------------------------------------The A

2013-02-03 13:44:58 2029

翻译 [Andriod官方训练教程]支持不同的设备之支持不同的屏幕

原文地址:https://developer.android.com/training/basics/supporting-devices/screens.html--------------------------------------------------------------------------------------------------------------------

2013-02-02 17:38:19 1535

翻译 [Andriod官方训练教程]支持不同的设备之支持不同的语言

原文地址:https://developer.android.com/training/basics/supporting-devices/languages.html------------------------------------------------------------------------------------------------------------------

2013-02-02 16:37:39 1588

翻译 [Andriod官方训练教程]管理Activity的生命活动之重新创建一个Activity

原文地址:https://developer.android.com/training/basics/activity-lifecycle/recreating.html-----------------------------------------------------------------------------------------------------------------

2013-02-02 14:59:35 2310

翻译 [Andriod官方训练教程]管理Activity的生命活动之停止和重启一个Activity

原文地址:https://developer.android.com/training/basics/activity-lifecycle/stopping.html-------------------------------------------------------------------------------------------------------------------

2013-02-02 11:48:27 3696

翻译 [Andriod官方训练教程]管理Activity的生命活动之暂停和恢复一个Activity

原文地址:https://developer.android.com/training/basics/activity-lifecycle/pausing.html--------------------------------------------------------------------------------------------------------------------

2013-02-01 23:23:46 5198

翻译 [Andriod官方训练教程]管理Activity的生命活动之开始一个Activity

原文地址:https://developer.android.com/training/basics/activity-lifecycle/starting.html-------------------------------------------------------------------------------------------------------------------

2013-02-01 20:13:12 3432 1

原创 设计模式之结构型模式

adapter 、bridge、facade–adapter用于两个不兼容接口之间的转接–bridge用于将一个抽象与多个可能的实现连接起来–facade用于为复杂的子系统定义一个新的简单易用的接口composite、decorator和proxy–composite用于构造对象组合结构–decorator用于为对象增加新的职责–proxy为目标对象提供一个替代者

2012-12-05 21:33:50 2088 3

原创 设计模式之创建性模式

抽象工厂模式:提供一个创建并返回一族相关示例的接口,而不需要指明它们具体的类。生成器模式:将一个复杂对象的构建与呈现分开,以便相同的构造过程能够根据不同需要创建不同的形式。工厂方法模式:提供一个创建一个示例的接口,但是允许子类决定实例化哪个类,即不同的子类可以实例化不同的对象。原型模式:先实例化一个类,然后克隆或者拷贝该类来构建新的实例。可以用共有方法进一步修改这些

2012-12-04 21:12:16 6163 3

原创 架构设计和包图

包组织原则将在功能上有紧密联系的、垂直或水平的切片打包将一族接口打包将一组不稳定的类打包提取独立的类型利用工厂(factory)来降低实体包之间的依赖不要在包中出现回路提示:功能性相关的类。一般说来,决定类之间是否有功能性联系,可以看是否满足以下条件:在一个类里发生变化会影响到另一个类;移除一个类将会影响另一个类;两个类之间有复杂的内部交互或是互相传递大量的信息;如

2012-11-04 19:57:18 2850

原创 面向对象设计原则

单一职责原则单一职责原则,SRP(The Single – Responsibility Principle)规定,一个类只能有一个引起它变化的原因。在SRP中,我们定义一个类的职责就是”改变它的原因“。如果你能想到N个动机去改变一个类,那么这个类就具有多于一个的职责。原因:如果一个类负责了两个职责P1和P2,那么当我们需要更改P1时,可能会造成P2发生故障。解决方

2012-11-04 16:57:07 2613 2

2D动态云彩

在Unity中实现2D动态云彩,原理和用法可参考:http://blog.csdn.net/candycat1992/article/details/50603529

2016-01-29

《Unity Shaders and Effects Cookbook》代码和资源

Unity Shaders博客专栏(http://blog.csdn.net/column/details/unity-shaders.html)所需资源,包含了各章所学代码和模型资源等。

2014-01-02

Unity3D插件——LitJson

用法可参见http://blog.csdn.net/candycat1992/article/details/10940245

2013-11-28

OpenGL库大全

主要包含了glaux,glew-1.9.0,glfw-2.7.8,glm-0.9.3.4,glui-2.36,glut-3.7.6和基本库。使用方法大部分都是把dll文件复制到system32文件下,头文件复制到VS的include/GL文件下,lib文件复制到VS的lib文件下即可。有时候可能会遇到无法解析的外部命令,这时候要在VS的项目设置里的依赖外部库中添加相应的库文件位置。

2013-04-19

空空如也

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

TA关注的人

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