opengl画不出直线 线段 坐标轴 却能画出其他图形的坑
原文作者:aircraft
原文链接:https://www.cnblogs.com/DOMLX/p/12054507.html
好多次都是画坐标轴的三条直线画不出来,虽然最后都解决了 但是还是耽误了我超级多时间 因为根本无法调试啊 就一个黑框框 其他图形又能画的出来
看到这种现象 真的是脑袋都要炸了好吧!!!
第一次没有画出来坐标轴直线是在c#的winform界面画坐标轴
我的画图代码大概是这样 先画了obj模型图像 然后 在画坐标轴直线 无论我怎么画都是画不出来 我脑袋都要炸了 就一个黑框框 单独画模型 单独画坐标轴都有图形 一起就不行了
然后各种百度无果后 先画线段坐标轴 在画模型 调换一下两者的顺序 搞定 出来了 总结一下原因:唔。。。。我也不知道原因 可能这个东西有毒吧
fun
{
....
drawObj();
...
drawLine(); }
第二次没有画出来直线 是在c++ 下普通的opengl环境
这次的原因是好像是我画的线段超出了什么什么的范围然后就出不来了 反正百度之后说
加上这个
glLineWidth(5.0f); //设置直线的宽度为2个像素
glBegin(GL_LINE);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex3f(0.0f, 0.0f, 0.0f); //绘制线段的起点,这里为相对坐标,即相将glTranslatef移动后的点作为原点
glVertex3f(3000.0f, 0.0f, 0.0f); //确定第一条线段的终点(3,0,0)
glColor3f(0.0f, 1.0f, 0.0f);
glVertex3f(0.0f, 0.0f, 0.0f); //确定第二条线段的起点(0,0,0)
glVertex3f(0.0f, 3000.0f, 0.0f); //确定第二条线段的终点(0,3,0)
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3f(0.0f, 0.0f, 3000.0f);
glEnd();
随便一看 好像就是很正常的代码 我那什么投影矩阵也设置了 第二步那个
然后这一次是有点绝望了 到底问题出在什么地方????
然后去用别人绘制一条线段的代码 拿来运行了一下 发现线段是可以出来的 天哪 简直就是让我发现了什么新世界 感觉我有救的了
然后我就对比我们两个的代码是有什么地方是不一样的
最后终于找到了
glBegin(GL_LINE);
问题出在这里 他们可以画出线段的代码是glBegin(GL_LINES); 加了个S的 我想原因应该是我画的是坐标轴 有好多直线 所有要加个S?????? 唉opengl真是太复杂 经常动不动就是一个黑框框给你 头疼
若有兴趣交流分享技术,可关注本人公众号,里面会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识

opengl画不出直线 线段 坐标轴 却能画出其他图形的坑的更多相关文章
- 由两点坐标如何画出直线 matlab
由两点坐标如何画出直线 方法1:利用直线方程 斜率加截距 方法2:数据拟合 %由两点坐标得数据拟合直线与画线 x = [,]; y = [,]; k = ((-)/(-));% 由两点坐标得到直线斜 ...
- OpenGL学习-------点、直线、多边形
上一课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处.例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用许多短直线,甚至用点组合而成. ...
- 【十天自制软渲染器】DAY 02:画一条直线(DDA 算法 & Bresenham’s 算法)
推荐关注公众号「卤蛋实验室」或访问博客原文,更新更及时,阅读体验更佳 第一天我们搭建了 C++ 的运行环境并画了一个点,根据 点 → 线 → 面 的顺序,今天我们讲讲如何画一条直线. 本文主要讲解直线 ...
- 平面上画n条直线,最多能将平面分成多少部分?
转自:http://blog.csdn.net/cywosp/article/details/6724522 在一个平面上画1999条直线,最多能将这一平面划分成多少个部分? 没有直线时有一个空间:( ...
- hough变换是如何检测出直线和圆的?
(I)直线篇 1 直线是如何表示的?对于平面中的一条直线,在笛卡尔坐标系中,常见的有点斜式,两点式两种表示方法.然而在hough变换中,考虑的是另外一种表示方式:使用(r,theta)来表示一条直线. ...
- matlab(4) Logistic regression:求θ的值使用fminunc / 画decision boundary(直线)plotDecisionBoundary
画decision boundary(直线) %% ============= Part 3: Optimizing using fminunc =============% In this exer ...
- java异常处理:建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),
建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount ...
- [转][TFS] 禁止默认允许多人签出和强制解除签入签出锁
转自:http://blog.xieyc.com/tfs-disable-multiple-check-out-and-force-to-undo-locking/ | 小谢的小站 [TFS] 禁止默 ...
- 请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框。程序可以判断出用
请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框.程序可以判断出用 户点击的是“确认”还是“取消”. 解答: <HTML> <HEAD> <TI ...
随机推荐
- 使用IDEA2017.3.5搭建SSM框架
转载自博客园,附上原文地址https://www.cnblogs.com/hackyo/p/6646051.html?utm_source=itdadao&utm_medium=referra ...
- Mysql的查询语句的使用
1. 简单查询 查询所有字段: SELECT * FROM 表名 查询特定字段: SELECT 字段列表 FROM 表名 2. 查询显示行号 - 在字段列表中加入(@rownum := @rownum ...
- docker tomcat镜像部署springbootwar包
springboot打war包 1.在pom文件中增加插件 <build> <finalName>xx</finalName> <plugins> &l ...
- zabbix分布式监控服务 安装与配置
zabbix安装与配置 一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- Xcode编译引用Framework
需要两步配置 1.在xcode工程的search path下设置要引用的Framework所在路径 2.将Framewoek拖入工程中时 不要选择copy,而选择引用模式.
- ios开发入门- WebView使用
转自:http://mahaile.blog.51cto.com/2891586/1021515/ 目标 : webview使用 在一些移动app中,有时程序会载入 外表的html 界面, andro ...
- ZOJ 2112 Dynamic Rankings(树状数组+主席树)
The Company Dynamic Rankings has developed a new kind of computer that is no longer satisfied with t ...
- R语言主成分分析(PCA)
数据的导入 > data=read.csv('F:/R语言工作空间/pca/data.csv') #数据的导入> > ls(data) #ls()函数列出所有变量 [1] " ...
- F#周报2019年第50期
新闻 Azure Functions 3.0系统上线 GC性能架构--第1部分 ConfigureAwait问题解答 介绍System.Threading.Channels Windows Serve ...
- 利用Bootstrap搭建网站页面
先来看下页面效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...