C#调用OpenGL开发建筑3D可视化程序是否可行?从稳定性和性能角度

jiuzaizuotian2014 2018-12-08 04:37:56
由于项目需要一些3D的功能,由于缺乏较多的经验,不知道利用C#来开发基于OpenGL的3D程序是否可行?主要用于建筑可视化。

由于OpenGL是基于c语言的图形库,利用c/C++开发比较方便。但是由于c#开发效率高,且程序除了3D可视化功能以外还有其它很多功能,其它功能用c#开发都非常方便。如果C#开发opengl可靠的话,则利用C#开发我想成本容易控制一些。

网上搜索有人说性能不是太稳定,有人说占用内存太高无法接受。很小的程序看不出来,不知有没有人利用这方方式开发过较大一些3D程序的经验呢?

(说明:不需要3D游戏那么强大的功能,主要是对建模模型的一些展示和操作,偏向功能应用,并没有游戏那么高的帧率要求和特效渲染要求)

...全文
1327 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 11 楼 jiuzaizuotian2014 的回复:
还能再问下Unity3D能不能做类似于ActiveX的控件,嵌入到winform/wpf程序中呢?
可以,web都可以嵌入。 winform/wpf可以直接引用。
  • 打赏
  • 举报
回复
https://www.cnblogs.com/swjian/p/8418628.html 太多了懒得继续找了
  • 打赏
  • 举报
回复
引用 13 楼 jiuzaizuotian2014 的回复:
担心Winform.net中的对象模型与unity3d中的对象模型完全是割裂的,需要从Winform.net从把数据传递到unity3d中重建对象模型,反过来在Unity3D中操作产生的数据改变需要将其传递回Winform.net中更新对象模型,是这样吗?这样的过程会不会显著增加复杂性和效率呢?
http://blog.sina.com.cn/s/blog_697b1b8c0102v0tb.html
  • 打赏
  • 举报
回复
引用 13 楼 jiuzaizuotian2014 的回复:
担心Winform.net中的对象模型与unity3d中的对象模型完全是割裂的,需要从Winform.net从把数据传递到unity3d中重建对象模型,反过来在Unity3D中操作产生的数据改变需要将其传递回Winform.net中更新对象模型,是这样吗?这样的过程会不会显著增加复杂性和效率呢?
你不要把这两个东西当作一个项目,实际上是两个项目,一个u3d的项目做渲染,一个c#的项目做控制,两个项目间用什么通讯都可以,下面是一个用socket通讯的例子: https://www.songshizhao.com/blog/blogPage/78.html 所以c#的还是c# u3d的还是u3d 千万不要把这两个混淆,当然你希望在同一平台下写全部代码什么的,建议你看看SharpDX、OpenGL之类的东西。 但是这个工作量会增大很多倍。
desperaso 2018-12-13
  • 打赏
  • 举报
回复
https://github.com/
去搜SharpDX,到处都是
jiuzaizuotian2014 2018-12-13
  • 打赏
  • 举报
回复
担心Winform.net中的对象模型与unity3d中的对象模型完全是割裂的,需要从Winform.net从把数据传递到unity3d中重建对象模型,反过来在Unity3D中操作产生的数据改变需要将其传递回Winform.net中更新对象模型,是这样吗?这样的过程会不会显著增加复杂性和效率呢?
jiuzaizuotian2014 2018-12-12
  • 打赏
  • 举报
回复
还能再问下Unity3D能不能做类似于ActiveX的控件,嵌入到winform/wpf程序中呢?
jiuzaizuotian2014 2018-12-12
  • 打赏
  • 举报
回复
谢谢大家回复与指点。
  • 打赏
  • 举报
回复
Unity3D 完美解决你的问题啊,学习成本也相对低很多,更主要是他的3D这块引擎各方面优化的还不错,你自己做能比得过吗?
xigua061126 2018-12-10
  • 打赏
  • 举报
回复
这个应该是可以的吧
assky124 2018-12-10
  • 打赏
  • 举报
回复
Unity3D 试试
足球中国 2018-12-10
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
不是你想要才有,而是很多人想要已经有了。建筑3D 目前至少有 10 款可供选用(你都尝试用过了吗),有什么问题非逼得你自己开发?

从原理出发,用 C# 只需要数百行代码就可写出来此类 winform 3D 界面,但幅面不能大于 400*400
通过 C# 引用 OpenGL, 是有效的,速度也很快,只是学习成本较高
WPF 天然支持 DirectX,学习成本也不算太高,应该是首选(虽然我不看好)
这么高的性能。却使用xaml这样的做为解释。是真搞不懂。早年用过。卡的要死。这些年不知道有没有改进。
angel6709 2018-12-10
  • 打赏
  • 举报
回复
没有问题啊啊
jiuzaizuotian2014 2018-12-08
  • 打赏
  • 举报
回复
用在特定领域具有特定需求的程序,需要对构件进行一些特定的参数化操作,并和其它管理功能集合在一起的,并非通用的建筑3D软件,所以不是市场上通用3D可以解决问题的。
xuzuning 2018-12-08
  • 打赏
  • 举报
回复
不是你想要才有,而是很多人想要已经有了。建筑3D 目前至少有 10 款可供选用(你都尝试用过了吗),有什么问题非逼得你自己开发?

从原理出发,用 C# 只需要数百行代码就可写出来此类 winform 3D 界面,但幅面不能大于 400*400
通过 C# 引用 OpenGL, 是有效的,速度也很快,只是学习成本较高
WPF 天然支持 DirectX,学习成本也不算太高,应该是首选(虽然我不看好)

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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