glColor3f的次序对渲染的影响

原始代码如下:

#include <gl/glut.h>

#include <Windows.h>

#define WIDTH 400

#define HEIGHT 400

#include <math.h>

#define ColoredVertex(c, v) do{ glColor3fv(c); glVertex3fv(v); }while(0)

GLfloat angle = 0.0f;

void myDisplay(void)

{

glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

glClear(GL_COLOR_BUFFER_BIT );

glPointSize(20);

glBegin(GL_POINTS);

//////////

glVertex3f(0, 0, 0);

glColor3f(0.0f, 0.0f, 0.0f);

//////////

glEnd();

glFlush();

}

void myIdle(void)

{

myDisplay();

::Sleep(10000);

}

int main(int argc, char* argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

//glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);

glutInitWindowPosition(200, 200);

glutInitWindowSize(WIDTH, HEIGHT);

glutCreateWindow("OpenGL 窗口1");

glutDisplayFunc(&myDisplay);

glutIdleFunc(&myIdle);

glutMainLoop();

return 0;

}

在上面的代码中,会出现一个白色的矩形,然后到超时10秒之后消失了,但是设置的颜色都是黑色,按照道理应该只是黑色。如果调整

glVertex3f(0, 0, 0);

glColor3f(0.0f, 0.0f, 0.0f);

的次序,就不会出现上面的情况,因为渲染的矩形都是黑色的,所以什么也没有除了黑色的。

时间: 2024-10-22 06:59:45

glColor3f的次序对渲染的影响的相关文章

javascript的加载、解析、执行对浏览器渲染的影响

javascript的加载方式,总得来说是在页面上使用script来声明,以及动态的加载这些方式,而动态的加载,在很多js库中都能够很好的去处 理,从而不至于阻塞其他资源的加载,并与其并行加载下来.这样的动态异步的加载方式罗列起来有:Ajax的方式.DOM Element Insert.Iframe.document.write.defer等等.这些都能够很好的处理js在加载的时候不会阻塞资源加载的问题,但是,js 的执行仍然会阻塞浏览器的渲染.或许这是不得不需要付出的代价,有没有一些方式去缓解

关于Windows锁屏对WPF渲染的影响

在一个风和日丽的工作日,我日常打开VS,打开公司项目,打开调试,继续解决我之前存在的一个bug, 这个bug不一般,在经过连续几个星期的测试后,总结出了以下特点: 1.bug表现在交互上,最先表示为卡死状态,且复现过程为把电脑放置一段时间后,再操作界面出现的问题: 2.深入测试我们进一步发现,此bug不同于一般的卡死bug,此bug在电脑放置一段时间卡死后,能拖动窗口,甚至我在ViewModel中写的控制台输出都能正常输出日志: 3.再深入一点我们发现,此bug还能在发生后恢复,此bug出现后是

html页面的渲染And&lt;script&gt;位置的影响

周末加班敲代码的时用到了<script>标签,突然想到了一个问题:别的自测项目里面<script>我把他放在了不同位置,这里应该会对代码的执行与渲染后影响吧?于是今天专门进行了查询,趁机总结以下: html 文档的解释方式&顺序: 预备知识:(需要简单理解同步/异步的区别) 同步,是所有的操作都做完,才返回给用户结果.即写完数据库之后,在相应用户,用户体验不好. 异步,不用等所有操作等做完,就相应用户请求.即先相应用户请求,然后慢慢去写数据库,用户体验较好. html文档的

第1部分: 游戏引擎介绍, 渲染和构造3D世界

原文作者:Jake Simpson译者: 向海Email:[email protected] ------------------------------------------------------------第1部分: 游戏引擎介绍, 渲染和构造3D世界 介绍 自Doom游戏时代以来我们已经走了很远. DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎". 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和

浏览器内核及渲染模式的介绍

首先要引入一个概念——排版引擎(Layout Engine,Rendering Engine),就是经常上网的人也许都听说过的浏览器内核,负责解析网页语法(如HTML.JavaScript)并渲染.展示网页.各品牌浏览器的内核是不同的,不同的内核处理同一段代码的时候思路不同.因此可以说,浏览器间内核的差异是产生兼容性问题的根本原因.这就是我们苦逼前端工程师们经常希望浏览器大一统的原因了.当然这只是个梦,那好我们回归现实,下面我将对四种常用的浏览器内核进行简单的介绍.  Trident      

DOCTYPE 与浏览器渲染模式分析

DOCTYPE 的诞生 DOCTYPE,或者称为 Document Type Declaration(文档类型声明,缩写 DTD).通常情况下,DOCTYPE 位于一个 HTML 文档的最前面的位置,位于根元素 HTML 的起始标签之前.因为浏览器必须在解析 HTML 文档正文之前就确定当前文档的类型,以决定其需要采用的渲染模式,不同的渲染模式会影响到浏览器对于 CSS 代码甚至 JavaScript 脚本的解析.尤其是在 IE 系列浏览器中,由 DOCTYPE 所决定的 HTML 页面的渲染模

NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)

上图是一个简要的NGUI的图形工作流程,UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,算出所需的Geometry缓存(顶点数,UV,Color,法线,切线). 而UIPanel,通过遍历自己子类下所有的UIWidget组件(已经按深度排序),先创建一个UIDrawCall,把Widget的material,texture,shader对象传递给该UIDrawCall,然后把该Widget里的Geometry缓存传给UIDra

IE 怪异模式(Quirks Mode)对 HTML 页面的影响

本文主要描述 Quirks Mode 和 Standards Mode 这两种文档模式渲染页面时的差异由来,并且给出一些详细的例子说明差异所在.通过阅读本文,Web 开发工程师可以对浏览器工作原理有更为深刻的理解,避免自己所开发的 Web 应用在不同的浏览器上产生不同的效果. Quirks Mode 概述 定义 什么是 Quirks Mode? 简单来说,Quirks Mode 就是浏览器为了兼容很早之前针对旧版本浏览器设计.并未严格遵循 W3C 标准的网页而产生的一种页面渲染模式. 历史 由渲

android app性能优化大汇总(UI渲染性能优化)

UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑这个问题.研究表明,0-100毫秒以内的延迟对人来说是瞬时的,100-300毫秒则会感觉明显卡顿,300-1000毫秒会让用户觉得“手机卡死了”,超过1000ms就会让用户想去干别等事情了. 这是人类心理学最基础的理论,我们可以从这个角度去优化页面/view/app的加载时间. Ilya Grigo