自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 byte 和char 数据类型

一、C++参考:《C++ primer plus》第六版,第三章c++中没有byte数据类型,只有char。char数据类型分char、unsigned char 和 signed char三种。char 本身既不是有符号的,也不是无符号的,是否有符号由C++实现决定,由开发人员将这种类型与硬件属性匹配起来。unsigned char,取值范围[0, 255]。si

2017-03-29 12:43:36 765

原创 cocos2d小型工程的代码组织结构

一、小型工程通常只有一个Scene,所有的弹窗都在这一个Scene中弹出;比如:从主菜单界面进入选关界面,点选关卡进入游戏,只是删除一个layer,加载了另一个layer,并没有多个Scene  replace。代码管理上,Scene中只负责弹出各种弹窗,不负责游戏逻辑。游戏逻辑在主游戏场景的Layer中实现。二、所有子窗口或弹窗,初始化后就不再销毁,或re

2017-03-10 11:47:54 496

转载 Blinn-Phong 光照

LearnOpenGLPhong光照很棒,而且性能较高,但是它的镜面反射在某些条件下会失效,特别是当发光值属性低的时候,对应一个非常大的粗糙的镜面区域。下面的图片展示了,当我们使用镜面的发光值为1.0时,一个带纹理地板的效果:你可以看到,镜面区域边缘迅速减弱并截止。出现这个问题的原因是在视线向量和反射向量的角度不允许大于90度。如果大于90度的话,点乘的

2017-03-09 16:39:26 1164

转载 立方体贴图

Learn Opengl立方体贴图包含6个2D纹理,这每个2D纹理是一个立方体(cube)的一个面,也就是说它是一个有贴图的立方体。从立方体贴图上使用橘黄色向量采样一个纹理值看起来和下图有点像:方向向量的大小无关紧要。一旦提供了方向,OpenGL就会获取方向向量触碰到立方体表面上的相应的纹理像素(texel),这样就返回了正确的纹理采样值。

2017-02-14 11:12:33 1254

转载 帧缓冲 Framebuffer

Learn Opengl到目前为止,我们使用了几种不同类型的屏幕缓冲:用于写入颜色值的颜色缓冲,用于写入深度信息的深度缓冲,以及允许我们基于一些条件丢弃指定片段的模板缓冲。把这几种缓冲结合起来叫做帧缓冲(Framebuffer),它被储存于内存中。OpenGL给了我们自己定义帧缓冲的自由,我们可以选择性的定义自己的颜色缓冲、深度和模板缓冲。我们目前所做的渲染操作都是是在

2017-02-13 12:34:15 1219

转载 面剔除 Face Culling

高级opengl尝试在头脑中想象一下有一个3D立方体,你从任何一个方向去看它,最多可以同时看到多少个面?你最终最多能数出来的面是3个。你可以从一个立方体的任意位置和方向上去看它,但是你永远不能看到多于3个面。所以我们为何还要去绘制那三个不会显示出来的3个面呢。如果我们可以以某种方式丢弃它们,我们会提高片段着色器超过50%的性能!我们如何知道某个面在观察者的视野中不会出现

2017-02-09 10:42:49 1633

转载 混合

Learn Opengl       在OpenGL中,物体透明技术通常被叫做混合(Blending)。一个物体的透明度,被定义为它的颜色的alpha值。alpha颜色值是一个颜色向量的第四个元素。       我们之前所使用的纹理都是由3个颜色元素组成的:红、绿、蓝,但是有些纹理同样有一个内嵌的aloha通道,它为每个纹理像素(Texel)包含着一个alpha值。这个al

2017-02-08 14:23:49 280

转载 模板测试

当片段着色器处理完片段之后,模板测试(Stencil Test) 就开始执行了,和深度测试一样,它能丢弃一些片段。仍然保留下来的片段进入深度测试阶段,深度测试可能丢弃更多。模板测试基于模板缓冲(Stencil Buffer)。模板缓冲中的模板值(Stencil Value)通常是8位的,因此每个片段/像素共有256种不同的模板值(译注:8位就是1字节大小,因此和char的容量一样是256个

2017-02-04 15:08:19 904

转载 几种光源

Learn Opengl学习笔记定向光(Directional Light)当一个光源很远的时候,来自光源的每条光线接近于平行。这看起来就像所有的光线来自于同一个方向,无论物体和观察者在哪儿。当一个光源被设置为无限远时,它被称为定向光(Directional Light),因为所有的光线都有着同一个方向;它会独立于光源的位置。我们知道的定向光源的一个好例

2017-01-11 11:51:38 3297

转载 光照贴图

漫反射贴图(Diffuse texture)我们希望通过某种方式对每个原始像素独立设置diffuse颜色。它基本就是一个纹理:使用一张图片覆盖住物体,以便我们为每个原始像素索引独立颜色值。在光照场景中,通过纹理来呈现一个物体的diffuse颜色,这个做法被称做漫反射贴图(Diffuse texture)。贴图:在片段着色器中,我们创建一个结构体(St

2017-01-10 14:33:45 3228

转载 光照基础

Learn Opengl颜色我们在现实生活中看到某一物体的颜色并不是这个物体的真实颜色,而是它所反射(Reflected)的颜色。换句话说,那些不能被物体吸收(Absorb)的颜色(被反射的颜色)就是我们能够感知到的物体的颜色。例如,太阳光被认为是由许多不同的颜色组合成的白色光(如下图所示)。如果我们将白光照在一个蓝色的玩具上,这个蓝色的玩具会吸收白光中除了蓝色以外的所有颜

2017-01-09 12:03:39 762

转载 摄像机

learn opengl本节讨论如何在OpenGL中配置一个FPS风格的摄像机,让你能够在3D场景中自由移动。摄像机/观察空间(Camera/View Space)摄像机/观察空间(Camera/View Space)是指以摄像机的视角作为场景原点时场景中的所有顶点坐标:观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。要定义一个摄像机,我们需要它在世

2017-01-05 12:56:06 1735

转载 Opengl 坐标

继续 Learn Opengl在流水线(Pipe line)中,物体的顶点在最终转化为屏幕坐标之前还会被变换到多个坐标系统。下图展示了整个流程:局部空间局部空间是指物体所在的坐标空间,即对象最开始所在的地方。想象你在一个建模软件中创建了一个立方体。你创建的立方体的原点有可能位于(0, 0, 0),即便它有可能最后在程序中处于完全不同的位置。你的模型的所有顶点都是在局

2016-12-30 13:57:18 2612

转载 矩阵、向量的变换

继续  Learn Opengl向量相乘点乘两个向量的点乘等于它们的数乘结果乘以两个向量之间夹角的余弦值。公式:v¯⋅k¯=||v¯||⋅||k¯||⋅cosθ如果v¯和k¯都是单位向量,它们的长度会等于1。这样公式会有效简化成:v¯⋅k¯=1⋅1⋅cosθ=cosθ我们使用点乘(dot produ

2016-12-29 10:59:57 8118

转载 纹理

继续 LearnOpenGL纹理(Texture)。纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;你可以想象纹理是一张绘有砖块的纸,无缝折叠贴合到你的3D的房子上,这样你的房子看起来就像有砖墙外表了。因为我们可以在一张图片上插入非常多的细节,这样就可以让物体非常精细而不用指定额外的顶点。纹理坐标为了能够把纹理映射(Map)到三角形上,我们

2016-12-20 16:42:26 1435

转载 shader 输入输出

opengl es的shader 有3种类型修饰:uniform,attribute,varying,区别见:http://blog.csdn.net/renai2008/article/details/7844495向量GLSL中的向量是一个可以包含有1、2、3或者4个分量的容器,分量的类型可以是前面默认基础类型的任意一个。它们可以是下面的形式(n代表分量的数量):

2016-12-19 16:08:33 1659

转载 opengl 画三角形

LearnOpenGL 学习笔记使用环境:mac10.12, xocde, cocos2d-x 3.13顶点输入要渲染一个三角形,需指定三个顶点,每个顶点都有一个3D位置。我们会将它们以标准化设备坐标的形式(OpenGL的可见区域)定义为一个GLfloat数组。GLfloat vertices[] = { -0.5f, -0.5f, 0.0f, 0.5

2016-12-16 17:32:09 1440

转载 opengl 简介

转自:LearnOpenGLopengl 学习笔记OpenGL到底是什么?OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。OpenGL库的开发者通常是显卡的生产商,故当产生一个bug时通常可以通过升级显卡驱动来解决。这些驱动会包括你的显卡能支持的最新版本的OpenGL。状态机OpenGL自身是一个

2016-12-15 13:42:58 748

转载 (二) shader 简介

shader language被定位为高级语言,如,GLSL的全称是“High Level ShadingLanguage”,Cg语言的全称为“C for Graphic”, 不过高级语言的一个重要特性是“独立于硬件”,在这一方面shader language暂时还做不到,shader language完全依赖于 GPU构架 。Shader language目前主要

2016-12-06 12:41:36 653

转载 (一)GPU图形绘制管线

《GPU编程与 CG语言之阳春白雪下里巴人 》读书笔记图形绘制管线描述GPU 渲染流程,即“给定视点、三维物体、光源、照明模式,和纹理等元素,如何绘制一幅二维图像”。 图形绘制管线分为三个主要阶段: (一)应用程序阶段,使用高级编程语言(C、C++、JAVA等)进行开发,主要和CPU、内存打交道,诸如碰撞检测、场景图建

2016-12-06 12:07:57 654

翻译 var 与 let 的区别

原文地址:http://stackoverflow.com/questions/762011/let-keyword-vs-var-keyword-in-javascriptvar与let的区别是作用域不同,var作用域在最近的函数区块内,let作用域在最近的封闭区块内,比函数区块要小。如果没有在区块内的话,二者都是全局的。全局的:在函数区块之外使用的话,二者是

2016-10-25 11:40:34 696

原创 cocos3d 与box2d的联合使用

(1)创建一个cocos3d项目,将box2d的lib包拷贝到刚创建的项目下,然后导入项目中 。(2)在项目Build Settings页面中找到”Search Paths“一栏,在“User Header Search Paths”中添加“xx/libs”,XX是项目名称;再设置“Always Serch Paths”的选项 为YES(默认为NO);(3)编译后,出现如下问题:U

2011-10-31 09:46:46 1244 1

转载 按home键程序退出时调用的方法

SDK4.0下使用下面这个方法- (void)applicationDidEnterBackground:(UIApplication *)application 3.0下这个方法- (void)applicationWillTerminate:(UIApplicat

2011-10-18 14:39:54 732

原创 cocos3d的安装

1.将下载的cocos3d-0.6.0-sp.zip解压, 解压出来的文件夹放到cocos2D安装包所在目录下,即:将cocos3d-0.6.0-sp文件夹与下载的cocos2d安装包(cocos2d-iphone-1.0.0)放到同一目录下。2.打开终端,进入cocos3d

2011-08-22 14:18:20 3081

原创 NSUserDefaults数据存储在什么地方?

/Users/*****/Library/Application Support/iPhone Simulator/4.1/Applications/29788E40-AF47-45A0-8E92-3AC0F501B7F4/,(这个是应用程序对应在mac上的位置)这个下面有/

2011-08-10 10:14:47 2132

原创 iphone 实现截屏的函数

//截屏实现:http://www.bit-101.com/blog/?p=1861-(UIImage *) glToUIImageIphone4 {NSInteger myDataLength =640 * 960 *4;// a

2011-08-02 09:54:27 627

转载 rand()还是arc4random()

在iPhone中有几个内嵌的随机数发生器,很多人的第一反应可能就是在调用如下函数后使用rand():srandom(time(NULL)); 但是……,rand()实际并不是一个真正的伪随机数发生器,random()会相对好点,但也不算理想。幸运的是iPhone上还有其他的选择。

2011-07-28 14:44:33 669

原创 3维空间坐标旋转

三维空间中,每个物体有一个包围球 ,跟踪球思想有点类似拨动地球仪,就是拨动物体的包围球,物体也随之旋转,这样子可以更好的,更全面的观察物体。主要思想就是鼠标单击屏幕,并执行拖动:画出一段弧线,起点v0,终点v1。这两点都是二维的,必须投影到三维空间中,分别记为:p0,p1, 也就

2011-07-28 14:38:42 1665

原创 删除xcode4及cocos2d的方法

删除xcode4: 打开终端,输入:sudo /Developer/Library/uninstall-devtools --mode=all删除cocos2d或cocos3d:删除以下目录的cocos2d或cocos3d目录/Users/yunyi3g2/Library/Developer/Xcode/Templatescocos2d 1.0.0 的安装:

2011-07-28 13:57:48 1165

转载 - (void)setNeedsDisplay得作用和用法

当一个view需要被重绘时调用,如图:

2010-11-10 11:55:00 5766

转载 mac下解压缩rar文件工具-rarosx使用介绍.

说到rarosx,刚开始用mac的时候下载过,下载后不知道这个东东怎么用(其实关键是那时候对命令行还不太熟悉).于是乎下载了图形界面的betterzip,试用版本,感觉不怎么好用.不过凑合着用了几次,几天发现过期了.     没办法,又在网上找来找去,后来还是找到了rarosx,试着用了下,发现还真是不错. 还是命令行方便!!!     下面是rarosx的安装方法:      1.下载最新版本的rarosx(免费的),我下载的是 RAR 3.93 for Mac OS X   地址http://www.r

2010-11-10 10:27:00 2476

原创 iPhone模拟器如何截图呢?

<br />(1)command+shift+4,出现十字型鼠标,此时可以按下鼠标,拉动,释放鼠标,完成截图,截图缺省在苹果的桌面。<br /> <br />(2)command+shift+4+space,单击截图,图在桌面。

2010-11-10 09:47:00 1955

cocos2dx 3.x 水波纹

把 Birkemose 用 cocos2d-iphone v1.1 写的那个水波纹特效,用 cocos2dx v3.13 重新实现。 资源包括 原版 和我自己的改写版。

2017-01-13

cocos2d iphone 开发教程

学习cocos2d 开发游戏的不错的书目。知易教程1-7,内涵代码。

2011-03-02

中国象棋(vc源码)

中国象棋游戏!有详细的源码说明。 平台vc6.0; 技术: MFC。

2010-05-18

空空如也

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

TA关注的人

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