自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 opengl 版本

前两天买的opengl红宝书第八版还没到,于是在网上找了个教程开始学习。今天书到了,才发现前几天学的全是过时的旧版gl内容。晚上看书的时候发现第一个例子都这么难,心理不免有些失落。配置了半天环境,最后终于出图像了。现在记录一下中途遇到的问题:1、配置开发环境的时候,我是参考这篇文章来的;点击打开链接2、运行后发现自己的显卡只能支持opengl4.2,例子中的glutInitCo

2015-09-30 19:55:05 440

转载 opengl 获取鼠标在世界坐标系中的坐标

glMouseFun(fun);回调的函数void fun(int button,int state, int x, int y)中,(x,y)表示的是鼠标在窗口内的位置,我们需要将其转化为世界坐标系中的位置//求鼠标在世界坐标系中的位置void mouse(int button, int state, int x, int y){ GLint viewport[4]; GLdoubl

2015-09-29 21:32:20 7173 1

转载 opengl中的坐标系

OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。世界坐标系以屏幕中心为原点(0, 0, 0)。你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定: 窗口范围按此单位恰好是(-1,-1)到(1,1)。当前绘图坐标系是 绘制物体时的坐标系。程序刚初始化时,世界坐标系和当前绘图坐标系是重合的。当用glTranslatef(),glScalef(), glRota

2015-09-29 10:22:13 1124

转载 opengl的三维与二维转换

实际上,从三维空间到二维平面,就如同用相机拍照一样,通常都要经历以下几个步骤 (括号内表示的是相应的图形学概念): 第一步,将相机置于三角架上,让它对准三维景物(视点变换,Viewing Transformation)。 第二步,将三维物体放在适当的位置(模型变换,Modeling Transformation)。 第三步,选择相机镜头并调焦,使三维物体投影在二维胶片上(投影变换,Pr

2015-09-28 20:32:37 5421 1

转载 opengl glBegin() glEnd() 中常用函数

1.在glBegin()和glEnd()之间可调用的函数函数 函数意义glVertex*() 设置顶点坐标glColor*() 设置当前颜色glIndex*() 设置当前颜色表glNormal*() 设置法向坐标glCoord*() 产生坐标glCallList(),glCallLists() 执行显示列表glTexCoord*() 设置纹理

2015-09-26 21:02:16 1168

转载 Unity3D学习笔记(十八)使用插件NGUI制作小地图

原本只是想用unity自带的GUI功能实现魔兽世界的小地图效果,结果折腾了一个晚上。原来的思路如下:根据玩家坐标,计算出应显示的地图缩略图部分(128×128);用GUI遮罩将非白色的部分剔除(这样可以实现任意形状的小地图);将地图框叠加到第二步中的纹理上;将玩家指示物放置在地图中心,并根据当前玩家的Transform.Rotation计算出指示物的旋转角度;

2015-09-23 11:16:39 894

转载 unity3d 学习笔记四 skybox(天空盒) light(光源) halo(光晕)

Unity3D学习笔记(四)天空、光晕和迷雾六年前第一次接触《魔兽世界》的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的地方,深深印在我的脑海里。当时在艾泽拉斯大陆还不能使用飞行坐骑,试想一下孤身一人在银色的月光下赶路,可能还有你的战斗小伙伴,静谧的夜晚,皎洁的月光,一起走过了六年……即便是现在回想起来,浮现在脑海中的不是T123456S123456,而是十字路口的夜空。

2015-09-22 20:28:01 6998

转载 Unity3D学习笔记(十二)预制

熟悉Flash的朋友对“元件”这个概念一定不会陌生,想像一下如果要制作一个漫天飞雪的视觉效果,比较合适的思路是预先制作几种雪花的元件,然后在场景里随机摆放。那为什么不使用复制呢?因为一旦需要修改某个雪花的造型,我们就必须对每个以它为模版克隆出来的雪花进行修改,这工作量是枯燥而巨大的。在unity中元件的概念叫做预制(Prefab),其实在一开始做联系的时候就接触过了。不论是导入自定义模型,

2015-09-22 20:01:29 723

转载 Unity3D学习笔记(十)物理引擎:碰撞器

物理引擎(Physics Engine和碰撞器(Collider),最近网络上很流行一句话可以用来形容第一次听到这两个词的感觉:虽然不是很明白,但是感觉好像很厉害的样子……^_^。其实这它们在游戏中的出镜率是相当高的,比如前段时间火到爆表的《愤怒的小鸟》、《割绳子》,还有《鳄鱼小顽皮爱洗澡》之类的,都是物理引擎的出色应用。而碰撞则是其中的一个部分而已,本篇笔记会对在unity中碰撞器的使用做个记录

2015-09-22 19:36:52 1002

转载 Unity3D学习笔记(八) 动画编辑器(animation窗口)

在unity3D内有PlayerPrefs类进行简单数据保存,如SetInt和GetInt存取整型数据,SetFloat和GetFloat存取浮点型数据,SetString和GetString存取字符型数据。使用的是键值对映射的方式进行存取。   每个项目拥有各自的键值对库(不同项目不同库),一旦存储好键值对,无论是场景变换还是重启开机都能取出原来的数据。需要注意的是,这个键值对库会随游戏编译

2015-09-22 19:22:21 3282

转载 unity3d 学习笔记(七) 类的基本函数学习

1.unity3D中脚本类若不是MonoBehaviour子类,则不含回调函数,不可添加给游戏对象,即要自行在其他MonoBehaviour子类中实例化。因此对于想要随场景载入自动实例化,且在场景中时时存在的类,就算不想用到update等回调函数最好也作为MonoBehaviour的子类。2.unity3d的脚本类中即使是MonoBehaviour子类,如果不把其附加在GO身上,构造函

2015-09-22 18:45:44 531

转载 Unity3D学习笔记(六)音乐和音效

即使AFK魔兽世界已经好多年了,在生活中听到电视或者电台里放的奥格瑞玛的背景音乐的时候还是会虎躯一震。虽然不是联盟玩家,闪金镇狮王之傲旅店的背景音乐依然悠悠回荡在耳边。一个好的游戏没有好的配乐和音效,就好像无暇的水晶缺少了灯光的陪衬。而音乐不仅能渲染出玩家攻略游戏时的氛围,还能增加提高玩家对游戏的认知度。比如我说魂斗罗和超级马力,玩过的同学一定能回想起那简单而经典的声音。还有诸君可曾记得当

2015-09-22 17:15:09 1676

转载 unity3d 学习笔记(五) 湖泊与瀑布

炎炎夏日,杭州的温度一直居高不下,还好今天傍晚来了一场及时雨,不然真要被闷死啦。听着外面淅淅沥沥的雨声倍感惬意,来记录一下Unity中湖泊和瀑布的制作。导入Unity自带的水源素材包“Water (Pro Only)”,至于为什么有这个“仅限专业版”呢,那啥你懂的。如果没有的话也可以导入“Water Basic”,只是效果难看点,并不影响做练习。导入成功之后在"Standard Asset

2015-09-22 15:32:18 2893

转载 unity3dz学习笔记(三) 为地形添加花草树木

上一篇笔记记录了如何在引擎中建立一个地形,并赋予其山脉、道路、还有光照。并利用Unity内置的素材包,创建一个第一人称控制器来漫游整个游戏场景。本篇将继续介绍地形相关要点,为游戏场景添加地形细节,即那些花花草草。最后再介绍一个官方地形工具的使用,给山脉做一下“美容”。选中层次面板中的Terrain对象,检视面板中就出现了熟悉的地形工具栏。这次使用的是第六个“地形细节画刷”工具。其实这个

2015-09-22 11:52:06 2662

转载 unity3d 学习笔记(二) 创建地形

在开始设计游戏之前我们需要先重新建立一个我们自己的Unity工程。点击主菜单的"文件→新建工程(File->New Project…)",就可以看到新建工程向导对话框了。我把工程建建立在E:\Frederick\Unity3D\UnityFundStudy1,注意目前Unity对中文的支持不是很好,因此在 Unity中尽量不要使用中文,防止出现各种各样莫名其妙的异常。点击确认创建,

2015-09-22 11:50:53 2637

转载 自定义结构作为map的key,比较函数写法

点击打开链接set、queue等stl也可以用类似方式

2015-09-20 21:23:59 459

原创 median of two sorted arrays

感觉这一题不难啊。用最常规的归并排序之后,找出中间的就行了。虽然不是最简单的方法,但一定是最方便的。class Solution {public: double findMedianSortedArrays(vector& nums1, vector& nums2){ vector tmp(nums1.size() + nums2.size()); int i =

2015-09-14 22:38:25 339

转载 hash_map和map

为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ... 这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的

2015-09-10 18:52:16 318

原创 模板编译的小错误

我在类中声明了析构函数,但是忘了定义这个函数。如果这个模板和main函数在同一个源文件中链接出现这个问题:Error 1 error LNK2019: unresolved external symbol "public: __thiscall LList,class std::allocator > >::~LList,class std::allocator > >(void)"

2015-09-07 19:10:22 474

原创 leetcode GrayCode 递归

Binary Code 转换为Gray Code。如:  Binary Code :1011 要转换成Gray Code  1011 = 1(照写第一位), 1(第一位与第二位异或 1^0 = 1), 1(第二位异或第三位, 0^1=1), 0 (1^1 =0) = 1110  其实就等于 (1011 >> 1) ^ 1011 = 1110void gr

2015-09-07 09:32:20 379

原创 leetcode 024 swap nodes in pairs

交换相邻的两个节点,这个代码比较直观,就是先创建一个头结点,作为prev,还创建了一个swap函数交换两个指针。ListNode * swap(ListNode *A, ListNode *B) { if(!B) return A; A->next=B->next; B->next=A; return B; }

2015-09-01 20:58:28 406

蓝牙A2DP库文件使用方法

The A2DP library handles the signalling procedures to perform stream negotiation and establishment as detailed in the Audio/Video Distribution Transport Protocol Specification, Generic Audio/Video Distribution Profile Specification and Advanced Audio Distribution Profile Specification documents.

2013-08-30

CSR8670---如何开发自己的应用程序

This document introduces the fundamental concepts employed when developing applications designed to run on CSR’s BlueCore chips.

2013-08-30

空空如也

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

TA关注的人

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