剪裁测试用于限制绘制区域.我们可以指定一个矩形的剪裁窗口,当启用剪裁测试后,只有在这个窗口之内的像素才能被绘制,其它像素则会被丢弃.换句话说,无论怎么绘制,剪裁窗口以外的像素将不会被修改.有的朋友可能玩过<魔兽争霸3>这款游戏.游戏时如果选中一个士兵,则画面下方的一个方框内就会出现该士兵的头像.为了保证该头像无论如何绘制都不会越界而覆盖到外面的像素,就可以使用剪裁测试.可以通过下面的代码来启用或禁用剪裁测试: glEnable(GL_SCISSOR_TEST); // 启用剪裁测试 glDis…
glEdgeFlag (GLboolean flag)表示一个顶点是否应该被认为是多边形的一条边界边的起点.flag为GL_TRUE后面的点都被认为是边界上的点,flag为GL_FALSE则之后的点不是边界上的点. Demo使用菜单来决定四角星的四个凹进去的点是否是边界边的起点.当菜单选中凹进去的四个点为边界上的点时,使用多边形的填充模式为GL_LINE时如下图所示: 当菜单选中凹进去的四个点不为边界上的点时,使用多边形的填充模式为GL_LINE时如下图所示: 源代码如下所示: #include…
glDepthMask (GLboolean flag)函数可以决定将他之后的数据不写入深度缓冲区.当flag为GL_TRUE时之后的数据不写入深度缓冲区,即使启用了深度缓冲区测试功能. 使用上一个Demo:点击打开链接上加入该功能: 未启用glDepthMask时如下所示: 单击鼠标右键弹出相应菜单: 选菜单On启用glDepthMask后看到坐标系的Z轴箭头已经看不见了,因为坐标系的Z轴箭头是在多边形之前绘制的. 源代码如下所示: // GlutStarDemo.cpp : 定义控制台应用程…
在VS2012下基于Glut 矩阵变换示例程序:中我们在绘制甜圈或者圆柱时使用矩阵对相应的坐标进行变换后自己绘制甜圈或者圆柱.我们也可以使用glLoadMatrixf.glLoadMatrixd载入变换矩阵后直接使用Glut提供的函数绘制甜圈.这里我在载入变换矩阵后再去绘制坐标轴,所以在程序运行时坐标轴会随着定时器绕Y轴旋转.点击鼠标右键在弹出的菜单里面可以选择是否显示坐标轴.正视图还是透视视图.是否打印变换矩阵. 源代码在VS2012下基于Glut 矩阵变换示例程序:只修改了: GlutTra…
也可以使用我们自己的矩阵运算来实现OpenGL下的glTranslatef相应的旋转变换.需要注意的是OpenGL下的矩阵是列优先存储的. 示例通过矩阵运算使得圆柱或者甜圈自动绕Y轴旋转,可以单击鼠标右键来弹出菜单选择是否显示坐标轴.正视图或者是透视图.是否打印变换矩阵.显示圆柱还是甜圈.程序用到math3d中的矩阵相关函数.由于绘制的坐标轴并未参加矩阵变换,在运行过程中会发现坐标轴并不会在定时器作用下不断旋转. 源代码: GlutTransformDemo // GlutTransformDe…
默认VS2012开发的Office Add是基于2010的,如下所示: 如果你机器上安装的Office版本是2013,那么使用VS2012创建的工程是无法运行的,弹出如下的错误: 那么此时怎么办呢?将Office降级到2010(这个显然不是我们想要的)?将VS升级到2013? 这里给出另外一种方法: UnLoad工程 Edit工程 在Project/ProjectExtensions/VisualStudio/FlavorProperties/ProjectProperties节下,可以看到De…
要说最近两天程序猿之间最喜欢吹水的事是什么?那绝壁是甲骨文要放弃Java!简直做梦都要笑醒!由于公司的产品线全面转向Java,最近几个月也一直在苦学Java技术.已经默默决定了,如果消息证实是真的,我马上烧掉那本最近在啃的<Spring in action>- 之前也用Xamarin Studio写一些C#的小东西,这次看到.NET Core这么如火如荼的开源着,并且可用于生产环境,我也来凑下热闹. 0. 安装Homebrew Homebrew简称"brew"是Mac下的包…
部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序   在下载的Istio安装包的samples目录中包含了示例应用程序.   Bookinfo应用   部署一个样例应用,它由四个单独的微服务构成,用来演示多种 Istio 特性.这个应用模仿在线书店的一个分类,显示一本书的信息.页面上会显示一本书的描述,书籍的细节(ISBN.页数等),以及关于这本书的一些评论. Bookinfo 应用分为四个单独的微服务: produc…
小试阿里云容器服务 之后,接下来有一个挡不住的小试冲动--用docker容器运行程序.首先想到的程序是 ASP.NET 5示例程序,于是参考msdn博客中的这篇博文 Running ASP.NET 5 applications in Linux Containers with Docker 小试了一下. 首先连上阿里云容器服务的群集,然后用 docker pull 命令从 hub.docker.com 上下载 ASP.NET 5的docker镜像(我们选用基于coreclr的ASP.NET 5)…
系统环境 Windows 7 Ultimate x64,Visual Studio Ultimate 2012 Update 4,和一块支持OpenGL 4.x的显卡. 准备工作 首先用GPU Caps Viewer检查机器最高支持的OpenGL及GLSL版本.比如我的机器可以支持OpenGL 4.5和GLSL 4.5: 下载GLEW和GLFW的源码.其中GLEW用来管理和载入OpenGL的各种扩展库,GLFW用来创建窗口和控制鼠标及键盘的交互.我使用的版本分别是glew-1.12.0和glfw…