一.直线的点画模式:即并不完全填充所有像素来画一条直线,而是用点画的形式,间隔地画一条直线 首先启用点画模式: glEnable(GL_LINE_STIPPLE); 然后自定义创建自己的点画模式 glLineStipple(GLlint factor,GLushort pattern); 其中第一个参数factor为乘法因子,第二个参数pattern为自定义的点画模式:一个16位的值,每个位表示线段的一部分状态为打开或者关闭,采用16进制,例如:0x5555 直线点画的实例程序: // STIP…
一. glBegin(GL_LINES); glend(); 二.线带和线环 glBegin(GL_LINE_STRIP); glend(); glBegin(GL_LINE_LOOP); glend(); 三.设置直线宽度 glLineWidth(GLfloat width); 四.获得直线宽度范围和增量 GLfloat sizes[2]; GLfloat add; glGetFloatv(GL_LINE_WIDTH_RANGE,sizes); glGetFloatv(GL_LINE_WIDT…
1.四边形图元 glBegin(GL_QUADS); glend(); 2.通用多边形 glBegin(GL_POLYGONS); glend(); 3.多边形点画模式 glenable(GL_POLYGON_STIPPLE); glPolygonStipple(pBitmp); 其中pBitmap为一块指定了数据区域的指针, #include "stdafx.h" // PStipple.cpp // OpenGL SuperBible // Demonstrates OpenGL…
1.注意多边形图元中的多边形只能是平面的,而且必须为凸多边形,且多边形的边不能弯曲 2.细分和边界,可以人为设置边界边和非边界边 glEdgeFlag(true)//接下来所有点均为边界边起点 glEdgeFlag(false)//接下来所有点均为非边界边起点 3.操纵深度缓冲区 glutinitdispalymode(GLUT_DEPTH);//开辟深度缓冲区 glenable(GL_DEPTH_TEST);//启用深度测试:即使未启用,深度值仍然写入深度缓冲区,只不过不进行测试 glDept…
1. glBegin(GL_TRANGLES); ........ glend(); 2.多边形的环绕方向:逆时针和顺时针的正反面 GLFront(GL_CCW)和GLFront(GL_CW); 3.三角形带 glBegin(GL_TRANGLE_STRIP); ....... glend(); 4.三角形扇 glBegin(GL_TRANGLE_FAN); ....... glend(); 例子: // TRANGLE.cpp : 定义控制台应用程序的入口点. // #include "std…
1.图元 1.点图元 glBegin(GL_POINTS); glend(); 程序:点图元的应用 #include "stdafx.h" #include<stdio.h> #include<GL\glut.h> #include<math.h> #define PI 3.14 GLfloat xRot=0.0f; GLfloat yRot=0.0f; void Init() { glClearColor(0.0,0.0,0.0,0.0); } v…
上一篇我们已经讲述了canvas的基本用法,学会了构建canvas环境.现在我们就来学习绘制一些基本图形. 坐标 canvas的坐标原点在左上角,从左到右X轴坐标增加,从上到下Y轴坐标增加.坐标的一个单元是1像素.示意如下: 矩形 canvas可以绘制的多边形只有矩形,其他都要通过线段拼接而成. 绘制矩形有三个API: fillRect(x, y, width, height) 绘制一个填充的矩形. strokeRect(x, y, width, height) 绘制一个只有描边的矩形. cle…
本节是OpenGL学习的第二个课时,下面介绍如何用点和线来绘制图形:     (1)用点的坐标来绘制矩形: #include <GL/glut.h> void display(void) { // clear all pixels glClear(GL_COLOR_BUFFER_BIT); // draw yellow polygon (rectangle) with corners at glColor3f(1.0, 1.0, 0.0); glBegin(GL_POLYGON); //绘制开…
一.前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGLES绘制2D/3D图形的第一步:定义图形:——运用部分 ③使用OpenGLES绘制出②步骤中定义好的图形:——运用部分,难点所在 通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面利用OpenGLES做各种效果,各种变换都是建立在这三步的图形编程理解之上的. 今天开始第三节——绘制图形部分的分…
<canvas> 元素 <canvas id="tutorial" width="150" height="150"></canvas> 1.<canvas> 标签只有两个属性—— width和height,默认宽度为300像素和高度为150像素. 2. </canvas> 标签不可省. 渲染上下文(The rendering context) var canvas = document…