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

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs6
本版专家分:7285
结帖率 98.68%
Bbs2
本版专家分:165
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学习笔记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系统接...

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

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

OpenGL绘图框架(GLFW)

下载地址:http://www.glfw.org/download.html 转载于:https://www.cnblogs.com/yanhuiw/p/3847644.html

OpenGL学习 GLFW 绘制三角型 (三)

来,首先我们学习三个英文单词;后面能用到 顶点数组对象 Vertex Array Object VAO 顶点缓冲对象 Vertex Buffer Object VBO 索引缓冲对象 Element Buffer Object EBO或Index Buffer Object,IBO 在<em>OpenGL</em>中,任何事物都是处在3D的,然而我们肉眼看见的都是2D...

Opengl+glfw+glew 绘制房间卧室客厅+雪花雪人

一、开发环境说明 操作系统:windows 开发软件:Visual Studio 2017 编程语言:基于控制台下的opengl 用到的库: glfw 、glew 底部提供代码下载 opengl环境配置可参照上一篇博客opengl环境配置+GLFW+GLEW+VS2017 二、内容 <em>绘制</em>一个简单的三维场景,可以是室内:卧室,办公室,教室,也可以是室外:运动场,公园等,加上光照效果,透视投影...

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进阶示例1——动态画线(虚线、实线、颜色、速度等)

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

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

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

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

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

为什么你的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);...

用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基于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画三维图,大概几万个数据,重绘的时候很慢很慢

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

OpenGL交互式连续折线的绘制

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

OpenGL绘线方式 GL_LINES与GL_LINE_STRIP的区别

1、

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() {  /

OpenGL中的常用绘图的命令与效果(经验设置)

1. 剔除多边形表面   在三维空间中,一个多边形虽然有两个面,但我们无法看见背面的那些多边形,而一些多边形虽然是正面的,但被其他多边形所遮挡。如果将无法看见的多边形和可见的多边形同等对待,无疑会降低我们处理图形的<em>效率</em>。   在这种时候,可以将不必要的面剔除。   首先,使用glEnable(GL_CULL_FACE);来启动剔除功能(使用glDisable(GL_CULL_FACE)...

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>OpenGL</em>入门级代码,有详细的注释,显示了各种模式下的画线功能

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

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

关于opengl显示大量数据点的问题

我用opengl显示大量的动态数据点,可在显示的过程中,窗口中的按钮是无效的,不知道是否能用线程实现,如果不能用线程的话应该怎么能在显示的过程中按钮是有效的,感谢

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 :glBindBuffer参数详解

<em>OpenGL</em> :glBindBuffer参数详解1.函数原型2. 参数解释2.1 target2.2 size2.3 data2.4 uasge 1.函数原型 void glBufferData(GLenum target​, GLsizeiptr size​, const GLvoid * data​, GLenum usage​); &nbsp;&nbsp;&nbsp;&nbsp;&nbs...

Opengl绘图效率

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

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

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

OpenGL实现DDA画线算法

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

Android OpenGL ES 开发教程(10):绘制线段Line Segment

创建一个DrawLine Activity,定义四个顶点: float vertexArray[] = {  -0.8f, -0.4f *1.732f, 0.0f,  -0.4f,0.4f * 1.732f,0.0f,  0.0f, -0.4f *1.732f, 0.0f,  0.4f,0.4f * 1.732f,0.0f, }; 分别以三种模式GL_LINE

基于OpenGL的三种直线生成算法

声明:欢迎任何人和组织转载本blog中文章,但必须标记文章原始链接和作者信息。  本文链接:http://blog.csdn.net/li_007/archive/2010/05/25/5622943.aspx开拓进取的小乌龟-----CSDN点滴点点滴滴Blog(一)数值微分(DDA)法     设过端点P0(x0 y0)、P1(x1 y1)的<em>直线</em>段为L(P

OpenGL绘制多边形边框线

利用<em>OpenGL</em>如何在<em>绘制</em>多边形的时候同时<em>绘制</em>其变现呢? 网上一种解决方案是利用glPolygonMode,将多边形<em>绘制</em>两次,一次<em>绘制</em>面,一次<em>绘制</em>边。这种方案理论上是可行的(我没有试过),但是<em>OpenGL</em>要进行两次<em>绘制</em>,<em>效率</em>上明显是不高的。如果以顺时针<em>绘制</em>则是反面,逆时针<em>绘制</em>则是正面 // 设置正面为填充模式 glPolygonMode(GL_FRONT, GL_FILL); // 设置反面为线

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

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

基于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.结束

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>

glGenBuffers与glBindBuffer理解

1.glGenBuffers 官方解释:generate buffer object names 意思是该函数用来生成缓冲区对象的名称。 函数原型:void glGenBuffers(GLsizei n,GLuint * buffers); 第一个参数是要生成的缓冲对象的数量,第二个是要输入用来存储缓冲对象名称的数组 该函数会在buffers里返回n个缓冲对象的名称。 个人理解如下,可以...

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画线常用方法

一、设置线的宽度 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(...

OpenGL着色

int DrawGLScene(GLvoid) // 从这里开始进行所有的<em>绘制</em>{ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存 glLoadIdentity(); ...

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

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

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

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

OpenGLES环境下绘制虚线的一种方法

            将OpenGl代码移植到<em>OpenGL</em> ES。移植时遇到了很多问题,<em>绘制</em>虚线是其中的一个。             OpenGl环境下,使用glLineStipple设置画线模式,使用glEnable(GL_LINE_STIPPLE)打开该选项即可实现虚线的<em>绘制</em>。             但在<em>OpenGL</em> ES环境下,无法使用上述方法。             对于曲线...

opengl es 2.0 中关于画线的两个问题

<em>请</em>大大们注意是ES 2.0,别的版本我不用的。 1.如何将<em>直线</em>进行抗锯齿化,也就是如何平滑<em>直线</em>。2.0中没有LINE_SMOOTH的 2.如何改变<em>直线</em>的颜色,我现在画线是默认的白色,我想换种醒目的颜色

OPenGL ES画线

#import "CCSprite.h" @interface SlingShot : CCSprite @property (nonatomic, assign) CGPoint startPoint1; @property (nonatomic, assign) CGPoint startPoint2; @property (nonatomic, as

LLVM中,使用LLC生成可视化SelectionDAG

LLVM静态编译器(LLVM Static Compiler,llc)是一个将DAG内容可视化的优秀工具。使用llc的命令行选项,在特定的执行阶段之前或之后显示SelectionDAG。但是关于如何生成可视化的SelectionDAG的教程却非常少,官网上也只是<em>给出</em>了几个命令参数,并没有<em>给出</em>详细的教程。我通过自己摸索,最后成功做出了DAG的可视化,想着记录在自己的博客里,供自己参考,也供别人参考。...

在LLVM中可视化代码结构

在LLVM中可视化代码结构1. Abstract2. 调用图、控制和数据流2.1 调用图2.2 CFG(基本块)2.3 CFG &amp; DFG(指令)2.4 指令2.5 Zeller’s Ex. 7.1 的 CFG &amp; DFG3. 依赖分析Pass3.1 内存依赖分析3.2 依赖分析 1. Abstract 本文概述了LLVM创建人类可读的代码结构可视化和相关依赖分析passes的功能...

opengl 绘制线框立方体

#includeGL/glut.h> // <em>绘制</em>立方体 // 将立方体的八个顶点保存到一个数组里面 static const float vertex_list[][3] = {     -0.5f, -0.5f, -0.5f,     0.5f, -0.5f, -0.5f,     -0.5f, 0.5f, -0.5f,    

opengl 绘制线框模式卡,填充模式就不卡。为什么会这样? 如何解决?

opengl <em>绘制</em>线框模式卡,填充模式就不卡。为什么会这样? 如何解决? glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glDrawElements(GL_QU

---opengl---怎么提高opengl画图速度?

我写个程序读取数据并用opengl作图, 但在<em>效率</em>上不理想: 30多M的文件,读到内存并形成一定的数据格式(链表)只用了1~2秒钟;但是作图时,却花了3~5分钟! <em>请</em>大人想一下用什么方法可以<em>提高</em>ope

OpenGL绘制多边形的效率问题

用Opengl<em>绘制</em>世界地图,使用的是tesslation来<em>绘制</em>的,但是由于多边形较多,<em>绘制</em>的<em>效率</em>很低,有什么高效的<em>绘制</em>方法吗?

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* 性能提示:相比图像,纹理具有更出色的渲染性能

简介本文讨论了为何使用纹理而非图像可以提升 <em>OpenGL</em> 渲染性能。 为说明这一问题,我们在一款简单的 C++ 应用中轮流使用纹理和图像。 该应用旨在表明使用这两种技术时对渲染性能(每帧毫秒数)的影响。 尽管本文适用于图形游戏开发人员,但这些概念适用于使用 <em>OpenGL</em> 4.3 及更高版本的所有应用。 示例代码用 C ++ 编写,专为 Windows* 8.1 和 10 设备而设计。要求构建和运行...

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

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

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

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

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 响应鼠标移动画线 显示的线条是断断续续的不连续 代码如下: 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::让我们画几条线

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

【Shader】用 Shader 画点和线

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

画线参考 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;

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

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

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

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

qt的绘图效率问题

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

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

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

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中如何拾取一条直线

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

openGL初学,为什么直线显示不出来?

各位高手,指点下代码。小弟初学openGL void lineBres(int x0,int y0,int xEnd,int yEnd,int m) { glClear (GL_COLOR_BUFFE

opengl画线只能画一半

为什么opongl画线只能画一半

在VC中用openGL画直线很小

初学计算机图形学,很多不懂。代码是参考的,其中的glViewport() gluOrtho2D(), glColor3f()等等函数搜了资料也不是很懂。 <em>直线</em>的起点是(0,5),终点是(9,0),画出

openGL 画直线 代码

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

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

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

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直线算法

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

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的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画线---openGL学习笔记(三)

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

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

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

计算机图形学-基于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—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

OPENGL—中点Bresenham画直线

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

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 ES 画直线代码实例

以画xyz坐标轴为例,很多人会遇到用glcolor设置了颜色,但是<em>直线</em>画出来还是黑色或者白色的情况,这可能是因为没有打开GL_COLOR_MATERIAL,或者没有关闭GL_TEXTURE_2D glEnable(GL_DEPTH_TEST); glLineWidth(3.0f); glEnable(GL_COLOR_MATERIAL); float

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

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

OpenGL编程(五)绘直线以及分析绘直线的算法

这次主要实现在窗口上<em>绘制</em>点、线以及修改其属性,另外还会分析画<em>直线</em>的原理和相关算法。 1、在窗口指定位置画点 glBegin(GL_POINTS); glEnd(); 使用glBegin()和glEnd()方法向窗口中添加图形。要添加点时,glBegin()函数里的参数填GL_POINTS。然后通过glVertex3f()函数在指定的(坐标)位置画点,如:glVer...

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

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

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...

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

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

基于OpenGL的DDA算法画直线

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

opengl画直线

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

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() {

Jquery、YUI、ExtJs 三大javascript框架表单验证带提示功能的demo下载

Jquery、YUI、ExtJs 三大js主流框架,实现表单输入框的提示,错误验证的强大demo; 相关下载链接:[url=//download.csdn.net/download/flying871018/3296583?utm_source=bbsseo]//download.csdn.net/download/flying871018/3296583?utm_source=bbsseo[/url]

Ajax原理与系统开发》源码下载

Ajax原理与系统开发》源码 Ajax原理与系统开发》源码 相关下载链接:[url=//download.csdn.net/download/u11545666/3718468?utm_source=bbsseo]//download.csdn.net/download/u11545666/3718468?utm_source=bbsseo[/url]

VC订单管理系统下载

用VC编的数据库实例,用于公司的订单管理,可以新增,查询,修改,界面是比较流行的MDI,可同时打开多个窗口进行操作,是学习数据库比较好的例子.由于很不容易得来的,故要二个资源分,请大家理解. 相关下载链接:[url=//download.csdn.net/download/julycy/164459?utm_source=bbsseo]//download.csdn.net/download/julycy/164459?utm_source=bbsseo[/url]

我们是很有底线的