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

HD.Ning 2019-08-04 05:19:14
画一个正方形的边框,输入4个点然后设置线宽glLineWidth(10),画出来的线不是连续的


搞了好久都搞不好。。

我用的OpenGL 3.3 CoreProfile,大概流程是先建shader程序,建VAO, VBO,生成顶点属性,用glDrawArrays(GL_LINE_LOOP, 0, 4)这个函数来画,没有其它东西了

新菜求大神指点
...全文
377 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
HD.Ning 2019-08-04
  • 打赏
  • 举报
回复
引用 10 楼 gouyanfen 的回复:
[quote=引用 9 楼 HD.Ning 的回复:] 瞬间感觉工作量大了无数倍。。。。
本身这也算是另一个分支了,建模这些事情可以用专业的建模工具完成,然后导入模型,你要用线条画东西,肯定是简单的图形了,专业的事交给专业的工具,要不设计一个游戏,美工,引擎开发,服务后台开发,通信模块,策略,策划等等协作完成的。一个人做不了所有的事,只做自己擅长的领域,能做好了就是专家了[/quote] 目前只是在学习最基本的opengl知识,想弄一个适合于本行业的定制化的绘图软件,看还路还很漫长
gouyanfen 2019-08-04
  • 打赏
  • 举报
回复
引用 9 楼 HD.Ning 的回复:
瞬间感觉工作量大了无数倍。。。。
本身这也算是另一个分支了,建模这些事情可以用专业的建模工具完成,然后导入模型,你要用线条画东西,肯定是简单的图形了,专业的事交给专业的工具,要不设计一个游戏,美工,引擎开发,服务后台开发,通信模块,策略,策划等等协作完成的。一个人做不了所有的事,只做自己擅长的领域,能做好了就是专家了
HD.Ning 2019-08-04
  • 打赏
  • 举报
回复
瞬间感觉工作量大了无数倍。。。。
gouyanfen 2019-08-04
  • 打赏
  • 举报
回复
引用 7 楼 HD.Ning 的回复:
[quote=引用 6 楼 gouyanfen 的回复:] [quote=引用 5 楼 gouyanfen 的回复:] [quote=引用 4 楼 HD.Ning 的回复:] 不应该是自己算的,这是90度的情况,那不是90度的呢,你怎么让它是连续的
什么叫不应该是自己算的,起点的终点肯定得自己算的,你是画线,又不是让画个矩形,库还会帮你算这个?库如果随意决策你的线要不要闭合,万一对你的意思理解错误怎么办,改库吗[/quote] 其实你换个思维这个问题可能容易理解一点,假如你站的高度不一样,这个库是你设计的,你弄个画线的,你考虑看要不要自动闭合,如果自动闭合你的库的使用范围会不会受影响,假设你能设计成智能的,又得怎么考虑,计算多少种情况才能达到用户所想,对库的大小速度性能有多大影响。不自动闭合不代表低级,自动闭合也并不代表高级。能完美高效展现用户的需求就是好的,拿现在游戏帧数来讲,单帧数据有多少线条组成,每条需要计算是否要自动闭合需要多大计算量,这个问题深究起来是个很复杂的事。 https://blog.csdn.net/qq_33951440/article/details/72823358[/quote] 我大概想明白了,对于比较宽的线应该是对拆线做outline的计算,得出来的点再用多边形画出来,库只提供最基本的API。你应该是这个意思[/quote] opengl库是把你给的数学模型转换,省略了你和硬件打交道的部分,让你的数据转换成图像数据,图形处理本来就是数学的延伸,你建个模型,让库帮你计算旋转,这个是可以的,至于你说的自动去猜测用户要建个什么样的模型,那是不可能的事
HD.Ning 2019-08-04
  • 打赏
  • 举报
回复
引用 6 楼 gouyanfen 的回复:
[quote=引用 5 楼 gouyanfen 的回复:] [quote=引用 4 楼 HD.Ning 的回复:] 不应该是自己算的,这是90度的情况,那不是90度的呢,你怎么让它是连续的
什么叫不应该是自己算的,起点的终点肯定得自己算的,你是画线,又不是让画个矩形,库还会帮你算这个?库如果随意决策你的线要不要闭合,万一对你的意思理解错误怎么办,改库吗[/quote] 其实你换个思维这个问题可能容易理解一点,假如你站的高度不一样,这个库是你设计的,你弄个画线的,你考虑看要不要自动闭合,如果自动闭合你的库的使用范围会不会受影响,假设你能设计成智能的,又得怎么考虑,计算多少种情况才能达到用户所想,对库的大小速度性能有多大影响。不自动闭合不代表低级,自动闭合也并不代表高级。能完美高效展现用户的需求就是好的,拿现在游戏帧数来讲,单帧数据有多少线条组成,每条需要计算是否要自动闭合需要多大计算量,这个问题深究起来是个很复杂的事。 https://blog.csdn.net/qq_33951440/article/details/72823358[/quote] 我大概想明白了,对于比较宽的线应该是对拆线做outline的计算,得出来的点再用多边形画出来,库只提供最基本的API。你应该是这个意思
gouyanfen 2019-08-04
  • 打赏
  • 举报
回复
引用 5 楼 gouyanfen 的回复:
[quote=引用 4 楼 HD.Ning 的回复:] 不应该是自己算的,这是90度的情况,那不是90度的呢,你怎么让它是连续的
什么叫不应该是自己算的,起点的终点肯定得自己算的,你是画线,又不是让画个矩形,库还会帮你算这个?库如果随意决策你的线要不要闭合,万一对你的意思理解错误怎么办,改库吗[/quote] 其实你换个思维这个问题可能容易理解一点,假如你站的高度不一样,这个库是你设计的,你弄个画线的,你考虑看要不要自动闭合,如果自动闭合你的库的使用范围会不会受影响,假设你能设计成智能的,又得怎么考虑,计算多少种情况才能达到用户所想,对库的大小速度性能有多大影响。不自动闭合不代表低级,自动闭合也并不代表高级。能完美高效展现用户的需求就是好的,拿现在游戏帧数来讲,单帧数据有多少线条组成,每条需要计算是否要自动闭合需要多大计算量,这个问题深究起来是个很复杂的事。 https://blog.csdn.net/qq_33951440/article/details/72823358
gouyanfen 2019-08-04
  • 打赏
  • 举报
回复
引用 4 楼 HD.Ning 的回复:
不应该是自己算的,这是90度的情况,那不是90度的呢,你怎么让它是连续的
什么叫不应该是自己算的,起点的终点肯定得自己算的,你是画线,又不是让画个矩形,库还会帮你算这个?库如果随意决策你的线要不要闭合,万一对你的意思理解错误怎么办,改库吗
HD.Ning 2019-08-04
  • 打赏
  • 举报
回复
不应该是自己算的,这是90度的情况,那不是90度的呢,你怎么让它是连续的
HD.Ning 2019-08-04
  • 打赏
  • 举报
回复
不是吧,这还要考虑啊,我以为是有什么设置没开 这么搞也太低级了吧。。。
gouyanfen 2019-08-04
  • 打赏
  • 举报
回复
引用 1 楼 HD.Ning 的回复:
那个,不连续的意思是4个角有缺口
你计算坐标没有把你线宽考虑进去
HD.Ning 2019-08-04
  • 打赏
  • 举报
回复
那个,不连续的意思是4个角有缺口

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧