时间:2021-05-20
本文实例为大家分享了OpenGL实现中点划线法的具体代码,供大家参考,具体内容如下
#include "GL/glut.h"#include "stdio.h"#include "math.h" int xs, ys, xe, ye; void MidpointLine(int x0, int y0, int x1, int y1){ if((x0 != x1) && (y0 != y1)) { int a, b, deltal, delta2, d, x, y; a = y0 - y1; b = x1 - x0; d = 2 * a + b; deltal = 2 * a; delta2 = 2 * (a + b); x = x0; y = y0; glVertex2i(x, y); while(x < x1) { if(d < 0) { x++; y++; d += delta2; } else { x++; d += deltal; } glVertex2i(x, y); } } else { int min, d; if(x0 == x1) { int x = x0, y; y = (y0<=y1) ? y0 : y1; d = fabs((double)(y0 - y1)); while (d <= 0) { glVertex2i(x, y); y++; d--; } } }} void lineSegment(){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 0.0); glBegin(GL_POINTS); MidpointLine(xs, ys, xe, ye); glEnd(); glFlush();} void main(int argc, char * argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); printf("输入线段起始和终止点坐标(范围为0-500,0-500)"); scanf("%d, %d, %d, %d", &xs, &ys, &xe, &ye); glutInitWindowPosition(50, 100); glutInitWindowSize(500, 500); glutCreateWindow("中点划线法"); glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0, 500.0, 0.0, 500.0); glutDisplayFunc(lineSegment); glutMainLoop();}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了OpenGL中点Bresenham绘制直线算法,供大家参考,具体内容如下环境macosxcode编译器代码#include#include#
以word为例,设置下划线的方法如下: 1、直接将输入法切换到英文状态,然后使用Word快捷键Shift和减号调出下划线,下划线多长根据自己的需求。 2、或
一、前言:Delphi默认支持OpenGl,可以使用usesOpenGL单元进行引用,之后就可以使用OpenGL的函数。OpenGl是跨平台的,而且Window
SDL+OpenGL使用笔记LFTK是一个嵌入式GUI,为了开发方便,需要提供PC运行环境。我选择了SDL2+OpenGL+nanovg来实现底层的渲染,让LF
相信有不少人在用手机的时候不会打下划线,今天就来教大家手机下划线怎么打,一起来看看本文整理的手机下划线输入方法吧。 手机下划线怎么打: 其实手机输入法里