OpenGL绘制直线,有没有什么办法可以提高绘图效率的,请大牛们给出思路。 [问题点数:200分,结帖人zhouzhipen]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs6
本版专家分:7285
结帖率 98.68%
Bbs7
本版专家分:12093
opengl学习笔记(三)-点和线段的绘制

主要参考了:http://www.cppblog.com/doing5552/archive/2009/01/08/71532.html里的内容。 1、点坐标的指定 下面的代码在屏幕上画出一组孤立的点,点之间没有任何连线。 void display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POINTS); glVertex2f(-0.

OpenGL基于glfw库的画点、画线、画三角

代码如下: #include void drawPoint() { /* Draw a point */ glClearColor (0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glPointSize(2.0f); glBegin(GL_POINTS); glColo

openGL学习笔记1(入门----如何绘制 直线、多边形、圆、利用图片绘制图形等)

#include void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT);//GL_COLOR_BUFFER_BIT表示清除颜色 glRectf(-0.5f, -0.5f, 0.5f, 0.5f); //画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标 glFlush(); //保证前面的<em>OpenGL</em>命令立即执行(而不是让它们在

计算机图形与OpenGL学习一(入门,画一条二维直线)

程序使用VS2013,C++编写,需要配置<em>OpenGL</em>所需的环境,具体操作可百度。本程序实现的功能是画一条二维曲线。函数的功能备注已经很详细,有疑问可自行百度。【程序代码】#include&amp;lt;windows.h&amp;gt;#include&amp;lt;GL/glut.h&amp;gt;#include&amp;lt;GL/gl.h&amp;gt;/*三个头文件一般是必须加的,windows.h头文件是为了与windows系统接...

opengl+glfw+glew绘制3d图形

opengl本来就可以<em>绘制</em>3d图形,坐标都是3维甚至4维的(第四维是w,不是真正意义上的维度), 监听键盘上下左右键,使其围绕x轴、y轴旋转,没有围绕Z轴旋转。 <em>绘制</em>圆锥,需要启用深度检测glEnable(GL_DEPTH_TEST);,不然看到的图形不是根据远近遮挡的,而是根据现后顺序遮挡的 #include &lt;iostream&gt; #include &lt;Windows.h...

opengl+glfw+glew绘制曲线

使用求值器让若干点均匀分布,形成曲线 #include &lt;iostream&gt; #include &lt;Windows.h&gt; // GLEW #include &lt;GL/glew.h&gt; // GLFW #include &lt;GLFW/glfw3.h&gt; GLuint WIDTH = 400, HEIGHT = 400; GLfl...

OpenGL绘制一个点

<em>OpenGL</em> 渲染是基于状态(state)的。<em>OpenGL</em> context 是一个重要的概念的,只有创建了 context,<em>OpenGL</em> 才存在,context 一旦被销毁了,<em>OpenGL</em> 就不存在了。context 存储了一个 <em>OpenGL</em> 实例的所有状态,类似于一个程序开辟的所有内存空间。context 可以看作进程在操作系统中的一个执行过程

OpenGL画线常用方法

一、设置线的宽度 glClear(GL_COLOR_BUFFER_BIT) glLineWidth(x)//线的宽度为x //glEnable(GL_LINE_STIPPLE); 将实线画为虚线 //glLineStipple(0,0x00ff); glBegin(GL_LINES); glVertex2f(0.5,0.5); glVertex2f(1.5,1.5); glEnd(...

Mali GPU OpenGL ES 应用性能优化--基本方法

1. 常用优化工具 2. 常用优化点      <em>OpenGL</em> ES优化的主要工作是在图形管道中找到影响性能的bottleneck,其bottleneck一般表现在以下几方面:      • 在应用程序代码中,如冲突检测      • GPU与主内存间的数据传输      • 在VP(Vertex Processor)中的顶点处理      • 在FP(Fragment

OpenGL核心技术之GPU编程

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144 3D游戏引擎的核心是渲染,游戏品质的提升需要通过Shader编程实现渲染技术,通常的渲染方式一般会

OpenGL进阶示例1——动态画线(虚线、实线、颜色、速度等)

http://blog.csdn.net/lynch0571/article/details/30496205 用<em>OpenGL</em>动态<em>绘制</em>线段,其实很简单,但到现在为止,网上可参考资料并不多。于是亲自动手写一个函数,方便动态<em>绘制</em>线段。代码如下: [cpp] view plain copy   #include           

Visual Studio2010与OpenGL基础绘制

本例在Visual Studio 2010环境下使用<em>OpenGL</em>,提供一个基本的开发应用程序框架。 第一步:<em>OpenGL</em>基础设置: 1.创建一个单文档的MFC应用程序,命名为TestGL,然后在TestGLView.h头文件中添加以下两条include包含语句: #include "gl/gl.h" #include "gl/glu.h" 2.设置程序为静态运行方式 执行菜单命令:项目-

OpenGL学习笔记:画点、直线和多边形(第一讲)

我的运行环境:CentOS7 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) <em>OpenGL</em>实现厂商的名字:VMware, Inc. 渲染器标识符:Gallium 0.4 on llvmpipe (LLVM 3.9, 256 bits) <em>OpenGL</em>实现的版本号:2.1 Mesa 17.0.1 OGLU工具库版本:1.3在<em>OpenGL</em>中指定顶点,<em>OpenGL</em>提...

OpenGL学习笔记——点、线、面的绘制

<em>绘制</em>图元 3D图象中最小单位被称为图元,包括点、线和面。 点:点是最基本的图元,在Py<em>OpenGL</em>中表示方法: glVertex(x, y, [z], [w]) 最多可以使用4个参数,其中2D就是 glVertex2f(x, y), 3D就是 glVertex3f(x, y, z) ...

为什么你的canvas那么慢?浅析Android的canvas性能

本文将通过分析部分源码,描述 Android 里面的 Canvas 的大致实现。并且会对 Canvas 的性能做一定分析,提供对 Canvas 的使用建议。GLES20RecordingCanvas 类这个类是什么?为什么我从没用过?我们来看看它的代码:class GLES20RecordingCanvas extends GLES20Canvas { ... }class GLES20Ca

QT使用GDI和OpenGL绘图,相比QPainter绘图降低CPU占用率

QPainter在高频绘画的使用CPU占用较高,我们用以下方法解决1、使用GDI<em>绘图</em>,GDI因为是使用GPU<em>绘图</em>,会减少CPU占用GDI在QT中的使用方法:因为QT都是通过repaint和update事件触发paintEvent<em>绘图</em>,其他<em>绘图</em>会被覆盖所以需要以下方法实现GDI<em>绘图</em>一、在需要<em>绘图</em>的Widget构造函数写setAttribute(Qt::WA_PaintOnScreen, true);...

OpenGL基础画线

较为基础的<em>OpenGL</em>入门级代码,有详细的注释,显示了各种模式下的画线功能

openGL线型和线宽以及线的抗锯齿

openGL线型和线宽以及线抗锯齿 一、线宽 Opengl的线宽设置:glLineWidth(width); width为float类型值,在0~10.0,大于10以上按10来处理。 若开启线的反走样glEnable(GL_LINE_SMOOTH);,设置小数值才起作用,否则就四舍五入的处理整数了。 二、线型 函数为glLineStipple(fact...

opengl VBO绘制多段线 并用shader对其着色

根据网上的代码参考,最终实现了用VBO<em>绘制</em>并且可以着色,下载后把demo中着色器的路径改一下就好了,其他的库都有,x64运行。

iOS --- OpenGLES之简单的图形绘制

在上一篇博客 iOS — <em>OpenGL</em>ES之着色器(shader)的编译、链接及使用 中,简要介绍着色器(shader)的编译、链接及使用。本文将在之前一系列<em>OpenGL</em>ES相关博客的基础上,使用<em>OpenGL</em>ES<em>绘制</em>基本的图形。

OpenGL显示列表二(转)

(一)定义显示列表。  前面所举出的例子都是瞬时<em>给出</em>函数命令,<em>OpenGL</em>瞬时执行相应的命令,这种<em>绘图</em>方式叫做立即或瞬时方式(immediate mode)。<em>OpenGL</em>显示列表(Display List)是由一组预先存储起来的留待以后调用的<em>OpenGL</em>函数语句组成的,当调用显示列表时就依次执行表中所列出的函数语句。显示列表可以用在以下场合:  1)矩阵操作  大部分矩阵操作需要<em>OpenGL</em>计算逆

OpenGL画点、直线、虚线和多边形

// 从这里开始进行所有的<em>绘制</em> int DrawGLScene(GLvoid) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存 glLoadIdentity();// 重置当前的模型观察矩阵 glColor3f(1.0, 0.0,0.0); //设置接下来所要画的东西的颜色 //<em>绘制</em>

OpenGL实现画线-线形-线宽转变

<em>思路</em>: 在画线算法的基础上,添加像素掩膜,&1为1则画否则不画。 // ====== Computer Graphics Experiment #4 ====== // | Line style using pixel mask | // | and line width | // =============

MFC-opengl画圆画线

用mfc opengl画圆画线 单击开始画线 双击停止画线

基于MFC的OpenGL几种基本用法(画线、画圆)

几种基本的opengl算法,画图、画圆、画折线,建立画笔、笔刷等

opengl画圆的多种方法

基于opengl的各种画圆方法,相信看完之后会大有所悟。

OpenGL画三维图,大概几万个数据,重绘的时候很慢很慢

如题,我用<em>OpenGL</em>画三维图,数组里大概就几万个点数据,但重绘的时候很慢很慢。之前我用同样的程序已经显示过同样大小的数据,速度很快的,后来整个工程经过改动,也加了些其它的功能,再用同样的程序<em>绘制</em>三维

OpenGL】Shader实例分析(一)-Wave

转发<em>请</em>保持地址:http://blog.csdn.net/stalendp/article/details/21993227 这篇文章主要分析一个Shader,从而感受shader的魅力,并学习相关shader的函数的用法。 先看Shader运行的效果: 下面是代码:

OpenGL绘线方式 GL_LINES与GL_LINE_STRIP的区别

1、

OpenGL交互式连续折线的绘制

没什么难的,都是调用<em>OpenGL</em>的API函数去实现即可,却也有一些小的细节处理: flag:用来标记是否开始交互,因为所有折线(<em>直线</em>段)的第一个端点和最后一个端点都是仅被一条<em>直线</em>占有,而中间的端点因为<em>绘制</em>的是连续折线,都是被两条<em>直线</em>共同占有,这在交互时设定端点坐标和重绘是有一个小细节。看代码中有注释。 功能: 左键点击选择端点,鼠标移动控制线的斜率,再次点击第二个端点画线,右击可以清除上一次画...

opengl画直线和圆

实现了MFC框架下,基于opengl的DDA<em>直线</em>生成算法以及Bresenham圆弧生成算法。

使用opengl如何实现一点结一点的连续画线?(类似随着鼠标的移动,跟着画线)

void __fastcall TFormMain::RenderGLScene() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); Dra

opengl练习之绘制连续的折线

自己动手写的一个例子,希望对广大网友有用。如果有错,<em>请</em>不吝赐教! 要求:实现用鼠标<em>绘制</em>折线,点击鼠标左键<em>绘图</em>,点击鼠标右键结束<em>绘制</em> 下面上代码! #include #include using namespace std; int winWidth = 400, winHeight = 300; //定义变量 int flag = 0; int n = 0; int te

每天一个OpenGL程序 第三篇 线的绘制

#include #include #include #include /*  *  练习3.1  *  <em>绘制</em>线的学习,圆盘射线  */ //定义常量PI #define GH_PI 3.1415926f //声明一个渲染函数 void ghRender(void); //声明初始化gl操作 void initGL(); void main() {  /

用glew,glfw实现最新的opengl3.3绘制三角代码

里面的main.cpp文件实现的是创建一个窗口,triangle.cpp文件时用索引时挥着的是一个四方形,不用索引画图是个三角形。用的是glew和glfw,所以使用之前你需要配置下环境,在vs的项目属

opengl画线

1、GL_LINES#include "stdafx.h" #include #include #include #include void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0f,0.0f,1.0f);

Opengl绘图效率

我要使用<em>OpenGL</em><em>绘制</em>5万条以上的线条,和很多的圆弧,圆弧是由很多小<em>直线</em>段连接成了的。<em>绘制</em>完后,需要支持缩放,平移。我现在缩放使用的方法是改变glOrTh的投影空间大小,平移使用的glTransla

OpenGL实现DDA画线算法

数字微分分析仪(digital differential analyzer)方法是一种线段扫描转换算法。 DDA算法比直接使用<em>直线</em>方程计算的速度更快,它利用光栅特性消除了<em>直线</em>方程种的乘法。 本代码参考自《计算机图形学》第四版,该函数将在verts末尾按次序添加需要的点坐标 inline int round(const float a){ return int(a + 0.5);}v...

关于OpenGL ES绘制效率问题的认识

<em>OpenGL</em>ES一般在Render的OnDrawFram()进行<em>绘制</em>函数的调用,并实时刷新<em>绘制</em>。<em>绘制</em>函数里会将物体的顶点坐标、法向量坐标、纹理坐标等实时渲染。对于渲染的数据流最好掌握一个“少次多量”的原则,避免“少量多次”会导致<em>绘制</em>卡顿现象,直接影响GLSurfaceView界面的交互。 举例:解析一个obj文件,里面有很多面face,并且不同的面对应不同纹理材质Newmtl。如果以面为

一个关于OpenGL绘图的显示效率问题

问题描述:用OpenGl<em>绘制</em>的2维地图,现在感觉放大后漫游比较卡。发现别的软件的地图在用鼠标拖拽漫游的时候,视窗外的区域在拖拽的时候是没有东西的,只有鼠标抬起后才刷新了当前视窗的内容,人家的<em>效率</em>就比较

大家好,我这个opengl画线怎么画不出来?

void CLink::DrawLink() { glLineWidth(LinkPenWidth); glColor3f(1.0,0.0,0.0); glBegin(GL_LINES); glVer

画线参考 shader

转载自:  http://glslsandbox.com/e#44523.0 #ifdef GL_ES precision mediump float; #endif uniform float time; uniform vec2 mouse; uniform vec2 resolution; uniform sampler2D last;

【Shader】用 Shader 画点和线

Shader "Custom/SimpleDotShader" { Properties { _CircleRadius ("Circle Radius", float) = 5 _CircleColor ("Circle Color", Color) = (1,0,0,1) _LineWidth ("Line Width", float) =

OpenGL直线/圆

#include &lt;GLFW/glfw3.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &lt;string.h&gt; void drawPoint(double x , double y) { /* Draw a point */ //glClearC...

OpenGL画线与画球体

根据一个点数组画出的线是正确的, 而以数组中每个点为球心画的球的轨迹却与线的轨迹不同, 我认为球的轨迹应该与线的轨迹相同,因为是以线上每点为球心画的, <em>请</em>帮我看一下哪儿出问题了,谢谢! 代码如下: v

opengl用点画线

如何实现如图所示当键盘按下b之后开始画点,后一个点跟前一个点自动连成一条线,再按下b之后可以切断跟前面点的联系继续重新开始画点。 当键盘按下d之后,点击现有的点可以删除它,剩下的点会自动连线。 当键

OpenGL 如何用已知点画连续的线?

例如: 已知3点: (0,0,0) (20,0,0) (25,20,-1) <em>请</em>问如何画出这条连续的线? 谢谢

第一课、OpenGL绘制直线等等

// //  main.c //  opengl_ animationRect_0002 // //  Created by  ch_soft on 12-1-16. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved. // #include #include #include  #includ

学习OpenGL(四)绘制直线

<em>绘制</em><em>直线</em>跟上一节<em>绘制</em>点差不多,毕竟<em>直线</em>是由点组成的。但这里需要注意的是,我们说的<em>直线</em>是有端点的,不是射线和构造线(两端无线延伸的)。 下面上代码,看看如何<em>绘制</em><em>直线</em>。 void myDisplay(void) { glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glOrtho(0.0, 1.0, 0.0, 1.

OpenGL学习脚印: 基本图形绘制方式比较(glBegin,glCallList,glVertexPointer,VBO)

<em>OpenGL</em>学习脚印: 基本图形<em>绘制</em>方式比较

opengl可编程管线鼠标画线段

学习opengl可编程管线的基础知识的网站:learnOpengl主要讲一下如何使用可编程管线实现鼠标交互的线段<em>绘制</em>。首先声明两种回调函数以及将其设置给对应的函数:MouseButtonCallback在鼠标按下时才会调用,CursorPosCallback则在每一帧都会附给width和height鼠标的实时坐标。然后再看一下这两个函数的具体内容:firstClick如果为true,代表线段的起点...

求助 我这个关于OpenGL基于MFC的画线怎么画不出呢?谢谢

#include "stdafx.h" #include "F.h" #include "FDoc.h" #include "FView.h" #include "MainFrm.h" #ifdef

MFC创建画直线程序

第一步: 新建工程MFC APPWizard(exe),创建单文档应用程序Draw,点击完成。 第二步: 在CDrawView类中添加两个成员变量m_pt、m_Colo,类型分别为CPoint、COLORREF,定义为private (选择ClassView,在CDrawView类上右键单击,选择添加成员变量) 第三步: 在构造函数中初始化两个成员变量 m_pt=0; m_Colo

mfc绘制直线

http://void CLine::LineTo(CDC*pDC,CP2 p1){       P1=p1;       CP2p,t;       COLORREFclr=RGB(255,0,0);       if(fabs(P0.X-P1.X)&amp;lt;1e-6)       {              if(P0.Y&amp;gt;P1.Y)              {            ...

MFC之OpenGL 纹理贴图后再绘制线条两个颜色相互影响

<em>OpenGL</em>渲染方式比GDI+强太多了,所以做<em>绘图</em>操作时我选择了<em>OpenGL</em>(新手),但是我在纹理贴图时出现了这样一个问题,就是我在贴完图后再继续在<em>绘制</em>线条什么的最后::SwapBuffers(hDC_); glFlush(); 也就是输出到显示器时纹理贴图的颜色竟然被线条的颜色影响了,如: 而如果我只是贴图而不<em>绘制</em>线条就是没有用到glColor3f()重新设置颜色的时候...

MFC中用CPaintDC在窗口中绘制直线,却没显示出来。求大神指点!

各位大神,以上是我的代码。在一个空窗口里<em>绘制</em><em>直线</em>,就是不显示出来~

OpenGL MFC 画直线和圆

利用<em>OpenGL</em>在MFC下画<em>直线</em>和圆的小程序,对初学者是个好例子

绘图效率完整解决方案——三种手段提高GDI/GDI+绘图效率

现在的cpu飞快,其实数学计算一般很快,cpu大部分时间是在处理<em>绘图</em>,而<em>绘图</em>有三种境界:1>每次重绘整体Invalidate(); 2>每次局部<em>绘制</em>Invalidate(Rect); 3>有选择的局部<em>绘制</em>。 不能说,一定是第三种方式好,得视情况,境界高程序肯定就复杂,如果对<em>效率</em>要求不高或者<em>绘图</em>量小当然直接用第一种方式。然而,稍微专业点的<em>绘图</em>程序,第一第二种方式肯定满足不了要求,必须

qt的绘图效率问题

目前开发了一个仪表程序,从网口读到数据后刷新仪表界面,然后仪表类会调用paintEvent方法进行窗口重绘。 问题是:当刷新速度达到ms级或者长时间运行时程序会变得非常卡顿,查看程序Cpu占用率达到3

问一下关于GDI+,direct,opengl绘图效率的问题

我需要画的是平面图 图形基本上都是由线段组合而成的 但是数据量比较大,一般一次<em>绘图</em>需要涉及到10000根线段 现在用GDI+做的,比较慢,大概需要1秒左右的时间才能<em>绘制</em>完成 <em>请</em>问如果用direct或者

OpenGL显示列表,真的能够提高绘图效率吗?

<em>OpenGL</em>的书说显示列表可以<em>提高</em>性能。但我把书中显示列表的例程改成了不用显示列表,两者对比了一下,感觉差不多呀。比如我的程序画一桢,不用显示列表用了14秒,用显示列表则用了13秒。 这个显示列表,真

openGL绘制点,线

#include &quot;stdafx.h&quot;#include&amp;lt;Windows.h&amp;gt;#include&quot;gl.h&quot;#include&quot;glut.h&quot;//渲染场景void RenderScene(void){ glClear(GL_COLOR_BUFFER_BIT);//用当前颜色填充窗口 glColor3f(1.0f, 0.0f, 0.0f);//设置当前的<em>绘图</em>RGB颜色值 GLfloat si...

openGL画线---openGL学习笔记(三)

openGL中的图元一共有三种:点、线、三角形。 针对线,openGL为我们提供了三种画线的方式: ①画线段(lines):所谓线段就是不相连的一些些线集。 ②画线带(line_strip):首尾相连但不闭合的线。 ③画线环(line_loop):首尾相连且闭合的线。 首先来实现画线段,这里我们来画一个发散的射线形状,效果图如下: render的实现类重

使用GLFW与GLAD创建窗口并画出三角形

本文章内容代码可在这里找到,如果此代码对您有帮助,烦<em>请</em>动动您的手指,点个Star,谢谢!欢迎访问我的个人主页Orient。 创建窗口1、首先我们引入必要的头文件:#include "glad.h" #include <em>请</em>确保GLAD头文件的引入在GLFW之前,GLAD的头文件包含了正确的<em>OpenGL</em>头文件(例如GL/gl.h),所以需要在其他依赖于<em>OpenGL</em>的头文件之前引

用glew,glfw实现opengl绘制3D学习笔记1-实现一个窗口

这篇文章是根据这个教程http://bullteacher.com/4-hello-window.html实现的代码,在我的vs2012和windows10上运行成功 #define GLEW_STATIC #include #include #define GLFW_INCLUDE_GLU #include using namespace std; void key_callback(GLF

用glew,glfw实现的opengl 学习笔记2画一个四方形

本文章是根据教程http://bullteacher.com/5-hello-triangle.html  实现的,在我本地已经正常运行。源码http://download.csdn.net/detail/qq_28637193/9618496 里面的main.cpp是<em>绘制</em>一个窗口。Triangle.cpp是<em>绘制</em>三角形(索引<em>绘制</em>是<em>绘制</em>的正方形) 如果不使用索引缓冲对象画出来的是个三角形,不适用索

求助OpenGL绘制点的问题

#include "Gltools.h" #define PI 3.14159f void setupRC(void) { glClearColor(0.0f,0.0f,0.0f,1.0f); glC

OpenGL API绘制点、直线、多边形等形状

要求:1.画点。要求:不同颜色,点大小;两种<em>绘制</em>方式:1界面输入点坐标;2鼠标交互式点击。 2.画<em>直线</em>。要求:用Bresenham算法<em>绘制</em>任意斜率和起始点;可以选择<em>直线</em>的不同颜色,粗细,线型;两种<em>绘制</em>

[求助]OpenGL连续画线的问题

画一个正方形的边框,输入4个点然后设置线宽glLineWidth(10),画出来的线不是连续的 搞了好久都搞不好。。 我用的<em>OpenGL</em> 3.3 CoreProfile,大概流程是先建shader程序

OpenGL::让我们画几条线

看了<em>OpenGL</em>ES已经有一段时间了,大致对这个3D库有了一些了解,之后就开始对这套API进行一下深入的研究学习。 学习主要是通过《计算机图形学》一书开展的,网上有什么红宝书蓝皮书什么的回头再看吧,学习要专注,你懂得。首先要先了解一下GL和GLUT的概念,自己详细Google下,总之你得先了解你所要用的库以及库的功能,在这里简单提一下,GL是3D库的主要API框架,而GLUT则是一些工具,我们在x

OPenGL 画连续线

用opengl 响应鼠标移动画线 显示的线条是断断续续的不连续 代码如下: glBegin(GL_LINE_STRIP); glVertex2f(PrePos_x,PrePos_y);//起点 glV

OpenGL学习04_点画模式(点画线)

viod glLineStipple(GLint factor,GLshort pattern);<em>OpenGL</em>中设置<em>直线</em>的当前点画模式。pattern参数是由1或0组成的16位序列,它们根据需要进行重复,对一条特定的<em>直线</em>进行点画处理。从这个模式的低位开始,一个像素一个像素的进行处理。如果模式中对应的位是1,就<em>绘制</em>这个像素,否则就不<em>绘制</em>。模式可以使用factor参数(表示重复因子)进行扩展,它与1和

OpenGL ES2学习笔记(5)-- 画线

画两条线段 在<em>OpenGL</em> Console里运行下面的脚本: import java.nio.ByteBuffer import java.nio.ByteOrder import javax.media.opengl.GL def vertexShaderCode = """ attribute vec4 a_Position; void main() {

OpenGL】Shader实例分析(八)- 彩色光圈

研究了一个彩色光圈效果,感觉挺不错的,分享给大家,效果如下:

【ShaderToy】基础篇之谈谈点、线的绘制

写在前面写前面一篇的时候,发现还是不够基础。因此打算增加几篇基础篇,从点线面开始,希望可以更好理解。其实用Pixel Shader的过程很像在纸上绘画的过程。屏幕上的每一个像素对应了纸上的一个方格,如果你愿意,你甚至可以一个个判断像素的位置,从而画出任何你想画的图像,也的确有爱好者这么做过。但往往,我们需要的是一个动态的效果,这个效果往往依赖于数学公式的约束。我们可以说是,用数学去绘画。我们用...

OpenGL绘制直线和圆(中点法)

#include #include static int i=1; void Initial(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //设置窗口背景颜色为白色 glMatrixMode(GL_PROJECTION); //指定设置投影参数 gluOrtho2D(-200.0,200.0,-200.0,200

基于Opengl的画直线—BresenhamLine算法

画<em>直线</em>基本思想: 假设<em>直线</em>的斜率0 1.画起点(x0, y0). 2.准备画下一个点,X坐标加1,判断如果达到终点,则完成。否则找下一个点,由图可知要画的点要么为当前点的右邻接点,要么是当前点的右上邻接点。   2.1.如果线段ax+by+c=0与x=x1+1的交点y坐标大于(y+*y+1))/2则选右上那个点   2.2.否则选右下那个点。 3.画点 4.跳回第2步 5.结束

C语言 计算机图形学 OpenGL 绘制直线、三角形、矩形并实时预览

老师给的题目并不难,我刻意复杂化了一下 <em>绘制</em>图像时,实时预览将要生成的图像,并非点击了几个点才开始画图 自己加了一个4象限对称的画图模式(mirror) 当前存在的bug: 继续画图之前,旋转必须到360度(默认设置60度,即要旋转6次后才能正常画图),不然像素点会和点击的坐标不一致 放大和缩小同上,有一次放大必须有一次缩小回来,反之亦然 图形学实验就开这几周,暂时只能学到这里了,欢迎留言...

openGL学习笔记三 : 绘制点、线以及多边形

前面我们<em>绘制</em>了一个矩形, 现在就一并来看看如何<em>绘制</em>点、线以及多边形吧。 一、 点 在openGL里面有这样一系列的函数, 他们以glVertex开头, 没错, 这就是我们需要的<em>绘制</em>点的函数, 来看看有哪些: WINGDIAPI void APIENTRY glVertex2d (GLdouble x, GLdouble y); WINGDIAPI void APIENTRY glV

OpenGL学习第一天: 画点,直线,虚线,多边形

// 从这里开始进行所有的<em>绘制</em> int DrawGLScene(GLvoid) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// 清除屏幕和深度缓存 glLoadIdentity();// 重置当前的模型观察矩阵     //设置图元颜色     glColor3f(1.0, 0.0,0.0); //<em>绘制</em>

openGL 画直线 代码

基于openGL的画<em>直线</em>的c语言代码

下载opengl的glut.h头文件和库

http://www.opengl.org/resources/libraries/glut/ [<em>OpenGL</em>] glut库的安装   GLUT代表<em>OpenGL</em>应用工具包(<em>OpenGL</em> Utility Toolkit),是一个与窗口系统无关的工具包。它作为AUX库的功能更强的替代品,用于隐藏不同窗口系统API的复杂性。GLUT的子程序的前缀使用”glut”。

教:在Opengl中如何拾取一条直线

假设我已画了一条<em>直线</em>,现在我想通过拾取将<em>直线</em>平移或旋转(利用鼠标实现)。在“红宝书”上我看了相关的章节,但讲得不清不白,实在难以下手 各位兄台是否能提供<em>思路</em>或代码?随时可以加分

OpenGL编程学习(2)-画点画线函数

<em>OpenGL</em>画点函数   <em>OpenGL</em>图元默认大小为一个像素单位,默认颜色为白色。画点函数为:   glVertex* ();   星号(*)说明该函数要有后缀码。一般来说,会有2到3个后缀码。第一个后缀码代表维数,二维、三维、四维坐标分别用2、3、4等数字表示。第二个后缀码代表坐标的数值类型,如i(整数)、s(短整数)、f(浮点)、d(双精度浮点)等。glVertex中可以使用显式的坐标值或

计算机图形与OpenGL学习四(1.画线算法)

画线算法要在光栅监视器上显示一条线段,图形系统必须先将两端点投影到整数屏幕坐标,并确定离两端点间的<em>直线</em>路径最近的像素位置。接下来将颜色值装入帧缓存相应的像素坐标处。这一过程将一条线段数字化为一组离散的整数位置,图形学画线算法就是研究如何高效处理这个过程。 【DDA算法】DDA算法又叫数值微分法,基于以下的数值推导过程: 算法步骤:①输入线段两个端点的像素位置。端点间水平和垂直差值赋给dx和dy。②...

opengl画线只能画一半

为什么opongl画线只能画一半

opengl画直线

opengl画<em>直线</em>原理及方法,里面大多属于基础知识,自学起来方便好用。

基于OpenGL的DDA算法画直线

基于<em>OpenGL</em>的DDA算法画<em>直线</em>段,用鼠标在窗口随机选择点并连成折线段,按ESC键即可退出该这线段并开始<em>绘制</em>下一条这线段

计算机图形学-基于OpenGL绘制直线及图形变换练习

计算机图形学-<em>绘制</em><em>直线</em>及图形变换练习本实验集成开发环境为vs2013。实验内容 在窗口中<em>绘制</em>一条曲线,参数曲线: x(t)=200+50∗(2∗cos(2∗π∗t)−cos(4∗π∗t))x(t)=200+50*(2*\cos(2*\pi*t)-cos(4*\pi*t)) y(t)=150+50∗(2∗sin(2∗π∗t)−sin(4∗π∗t))y(t)=150+50*(2*sin(2*\pi*t

OpenGL直线算法

计算机图形学在<em>OpenGL</em>上画<em>直线</em>的算法,绝对可行

OpenGL-基本图元(包括点、线、圆形等)

目录 点 常用函数 代码 线 常用函数 代码 圆 代码 五角星 代码 正弦函数图像 代码 所有代码 部分截图 全部代码下载 点 常用函数 点的常用函数 函数 解释 void glPointSize(GLfloat size) 控制点的大小 glVertex2f(GLfloat x, GLfloat y) 点的坐标 点的大小默认为1...

OpenGL(二)——绘直线以及分析绘直线的算法

绘<em>直线</em>以及分析绘<em>直线</em>的算法:1、在窗口指定位置画点glBegin(GL_POINTS); glEnd(); 使用glBegin()和glEnd()方法向窗口中添加图形。要添加点时,glBegin()函数里的参数填GL_POINTS。然后通过glVertex3f()函数在指定的(坐标)位置画点,如:glVertex3f(100.0f, 100.0f, 0.0f);三个参数分别表示x,y,z坐标。g

OPENGL—DDA画直线

// DDA画<em>直线</em> #include "stdafx.h" #include #include void init(void) { glClearColor(1.0,1.0,1.0,1.0); //设置背景颜色为白色 glMatrixMode(GL_PROJECTION); //对投影相关进行操作 gluOrtho2D(0.0

VC6.0,opengl 画直线

使用VC6.0与OPENGL可以成功实现了控制<em>直线</em>的两点,将<em>直线</em>画出,并通过对话框控制

OpenGL简单画线程序

#include void display(){   glClearColor (0.0, 0.0, 0.0, 0.0);   glClear (GL_COLOR_BUFFER_BIT); glBegin(GL_LINES);   glColor3f(1.0,0.0,0.0);   glVertex2f(0.8,1); //定点坐标范围   glVertex2f(0,-1)

OpenGL入门5——点、直线、多边形

1、点的细节       设置点的大小: void glPointSize( GLfloat size );//设置被渲染的点的宽度,以像素为单位。size必须大于0.0, 在默认情况下为1.0。       glGetFloatv( );       GL_ALLASED_POINT_PANGE 查询在未进行抗锯齿处理的情况下最小和最大的点。       GL_SMOOTH_POINT_

opengl学习篇之 画直线 圆 和矩形

// opengl画<em>直线</em>程序框架.cpp : 定义应用程序的入口点。 // //鼠标画线小程序 #include "stdafx.h" #include "opengl画<em>直线</em>程序框架.h" #include &lt;glut.h&gt; #include &lt;math.h&gt; #define N 1000 //maximum line numbers #define Pi...

驱动精灵122下载

驱动精灵 相关下载链接:[url=//download.csdn.net/download/oliuke1/4677119?utm_source=bbsseo]//download.csdn.net/download/oliuke1/4677119?utm_source=bbsseo[/url]

COM USB 驱动下载

电脑公司工具软件,外置com口转USB驱动 同行交流 相关下载链接:[url=//download.csdn.net/download/zbpc888/8771627?utm_source=bbsseo]//download.csdn.net/download/zbpc888/8771627?utm_source=bbsseo[/url]

vmware workstation 14 key下载

vmware workstation 14 key vmware workstation 14 key 相关下载链接:[url=//download.csdn.net/download/shenjie029/10587179?utm_source=bbsseo]//download.csdn.net/download/shenjie029/10587179?utm_source=bbsseo[/url]

我们是很有底线的