免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1871|回复: 3
收起左侧

[二次开发] 想在globecontrol 里面用opengl画图

[复制链接]

3

主题

62

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
21
发表于 2012-11-14 10:20 | 显示全部楼层 |阅读模式
  1. Public Sub OnAfterDraw(ByVal pViewer As ISceneViewer)

  2. 'GL.glClear(GL.GL_COLOR_BUFFER_BIT) '黑色背景
  3. GL.glClear(GL.GL_DEPTH_BUFFER_BIT)
  4. GL.glLoadIdentity() '重置模型变换矩阵
  5. GL.glDisable(GL.GL_DEPTH_TEST) '关闭深度测试
  6. GL.glColor3f(255, 0, 0) '设置粒子颜色
  7. GL.glBegin(GL.GL_TRIANGLE_STRIP) '绘制三角形带

  8. For Each mpar As Particle In PAR

  9. If mpar.active = True Then

  10. px = mpar.Par3D.x '若粒子激活,返回粒子坐标
  11. py = mpar.Par3D.y
  12. ph = mpar.Par3D.z

  13. GL.glVertex3d(DoTransform(px + 0.5, py + 0.5, ph).x, DoTransform(px + 0.5, py + 0.5, ph).y, DoTransform(px + 0.5, py + 0.5, ph).z)
  14. GL.glVertex3d(DoTransform(px - 0.5, py + 0.5, ph).x, DoTransform(px - 0.5, py + 0.5, ph).y, DoTransform(px - 0.5, py + 0.5, ph).z)
  15. GL.glVertex3d(DoTransform(px + 0.5, py - 0.5, ph).x, DoTransform(px + 0.5, py - 0.5, ph).y, DoTransform(px + 0.5, py - 0.5, ph).z)
  16. GL.glVertex3d(DoTransform(px - 0.5, py - 0.5, ph).x, DoTransform(px - 0.5, py - 0.5, ph).y, DoTransform(px - 0.5, py - 0.5, ph).z)

  17. mpar.Par3D.x += mpar.xs '移动粒子
  18. mpar.Par3D.y += mpar.ys
  19. mpar.Par3D.z = 1                                                                    

  20. End If
  21. GL.glFlush()
  22. Next
  23. GL.glEnd()

  24. 'End If
  25. End Sub
复制代码
如题,写了段代码,但是老是画不出来,想请大家看下有什么错误。。。

还有,我粒子的Z值怎么能换成在图鞥中对应位置的高程?我想让粒子沿着地形起伏运动。。

跪求指导挖。。。。。
跪求挖。。。。

0

主题

2230

铜板

15

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2033
发表于 2021-6-22 11:27 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1684

铜板

1

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
643
发表于 2022-2-15 13:49 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

345

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
38
发表于 2022-2-15 15:30 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表