摘要: 这几个月准备找实习,连着面试,时间太紧,所以没有更新博客。抱歉:) 今天入职第一天,接下来可以更新啦。 阅读全文
posted @ 2017-05-31 17:22 clairvoyant 阅读(131) 评论(1) 推荐(0) 编辑
摘要: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have ex 阅读全文
posted @ 2017-02-25 21:21 clairvoyant 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 认认真真地把这教程过一遍还真是费事啊... 终于到最后一章了,鼠标拖动可实现物体旋转。 下面为代码, #ifndef _ArcBall_h #define _ArcBall_h // Only support assertions in debug builds #ifdef _DEBUG #inc 阅读全文
posted @ 2016-11-01 22:39 clairvoyant 阅读(296) 评论(0) 推荐(0) 编辑
摘要: cg工具包下载地址。头文件、lib文件和dll文件放在指定的位置。 struct appdata { float4 position : POSITION; float4 color : COLOR0; float3 wave : COLOR1; }; struct vfconn { float4 阅读全文
posted @ 2016-10-26 16:28 clairvoyant 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 全屏抗锯齿通过采样算法,将图形边缘会造成锯齿的这些像素与其周围的像素作一个平均的运算,增加像素的数目以达到像素之间平滑过渡的效果,不过有的地方可能会显得模糊。使用了两个头文件的扩展, 代码如下,抗锯齿的实现叫做多重采样。 bool WGLisExtensionSupported(const char 阅读全文
posted @ 2016-10-22 23:25 clairvoyant 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 这一节主要说的是VBO. VBO初始化时的代码, BuildVBOs()函数, 下面为代码,顺便改了下方向键,W/S/A/D/UP/DOWN/LEFT/RIGHT。 #ifndef GL_FRAMEWORK_INCLUDED #define GL_FRAMEWORK_INCLUDED #includ 阅读全文
posted @ 2016-10-22 10:57 clairvoyant 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 这样的光晕如何实现? 其实也就是几个贴图。变着法贴,比如,变大变小贴,变着颜色贴,变着透明度贴,换着距离贴。 下面为代码,其中用到了一些很简单的数学知识。 #ifndef AFX_GLFONT_H__F5069B5F_9D05_4832_8200_1EC9B4BFECE6__INCLUDED_ #d 阅读全文
posted @ 2016-10-20 22:47 clairvoyant 阅读(239) 评论(0) 推荐(0) 编辑
摘要: FreeType一个字体库,主要体现FreeType抗锯齿效果。 图中第一行为ttf字体,第二行为点阵字体,各有各的好处,不过ttf用的比较多。可以看出第一行字体的效果更好。 这是用到的库文件,放到了我的GitHub,下载地址。 配置方法即文件放置位置还是按以前的来,在VS2015中,项目属性->链 阅读全文
posted @ 2016-10-14 23:10 clairvoyant 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 一个屏幕分为四个小窗口,如下图。 UpdateTex()为绘制函数, 在绘制完所有迷宫时,会设置标题题目“SetWindowText()函数”且重置贴图数据“ZeroMemory()函数”,最后重新绘制。 在Initialize()函数中,对quadric贴图时,需要先对quadric贴图坐标设置。 阅读全文
posted @ 2016-10-11 18:10 clairvoyant 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 雾气的实现在Cool Looking Fog中提到过,不过怎么实现雾气随距离的变化? 在Initialize()函数中首先设置fog的褪色,颜色,开始透明度和结尾透明度等等。如下, glFogi()函数中的参数在Main文件头定义了, 在画雾气时,也就是Draw()函数中,glFogCoordfEX 阅读全文
posted @ 2016-10-09 18:24 clairvoyant 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 这一节为物理模拟绳子。在上一节中,三种物理模拟的基本运动作为这一节的基础。(直线运动, 弹性运动,万有引力下运动) 让绳子拥有弹性感,可以在每个质量节点中加入很小长度的弹簧。弹簧上力的变化可参考上节的弹性运动。 基本上所谓的重点就是绳子模拟类了,RopeSimulation类继承Simulation 阅读全文
posted @ 2016-10-04 17:15 clairvoyant 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 这一节说明了三种运动,直线运动,弹性运动和万有引力下运动。本节对三种运动在每个点上力做了分析。 Physics.h文件中定义了四个类,Vector3D类重载了基本的操作运算符和求解法向量函数。Mass类有基本的质量m、位置position、速率velocity和力force,及牛顿第一定律。Simu 阅读全文
posted @ 2016-09-27 15:50 clairvoyant 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 未贴图前,每个蝴蝶都是由两个三角形组成,于对角线折叠,相当于翅膀扇动,每次变换对角顶点的坐标就可以。 这次是加载资源文件,加载过后, 下面为代码, #ifndef GL_FRAMEWORK_INCLUDED #define GL_FRAMEWORK_INCLUDED #include <window 阅读全文
posted @ 2016-09-26 11:12 clairvoyant 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 卡通人物的贴图及阴影实现。 在抗锯齿方面,OpenGL中只需glEnable(GL_LINE_SMOOTH)。 对于一个向量的旋转,直接乘以旋转矩阵可以得出。下面为代码, 灯光设置为Z轴正方向(0,0,1),然后计算其法向量normal,接着再和旋转后的向量来个点积得到shade值。若小于零,就设置 阅读全文
posted @ 2016-09-25 17:42 clairvoyant 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 这种效果由ambient、position、diffuse和specular几种光在其背景贴图上实现。 在RenderToTexture()函数中ProcessHelix()函数为实现弹簧的光线效果,而在Draw()函数中的ProcessHelix()函数为实现弹簧实体。 RenderToTextu 阅读全文
posted @ 2016-09-24 12:01 clairvoyant 阅读(230) 评论(0) 推荐(0) 编辑