问题列表 - 第7105页

在工程应用程序中进行实时3D渲染的最佳方法是什么?

我们正在开发一个基于GIS的应用程序,它模拟虚拟现实环境中的真实单词对象(即管道,道路等).目前我们使用ArcScene中ESRI的ArcGIS包3D渲染,并在今后,我们打算用我们自己的3D环境来取代它.

问题: 在上述应用程序中进行实时3D渲染的最佳方法是什么?我在这个领域没有任何经验,我真的很困惑.我应该使用一个可用的3D渲染引擎(下面列出一些)吗?如果答案是肯定的,那么应考虑哪些参数(不论其成本如何)?有没有人在这个领域有任何经验或建议?

环境和必需品:

  1. 我们使用C#.NET环境来开发应用程序
  2. 有大量的3D对象可供展示
  3. 3D对象分组在不同的CAD文件中
  4. 与最终3D场景的交互是必不可少的(例如,选择一个3D对象)
  5. 需要加载,卸载,打开,关闭和设置一个层和/或对象的透明度.
  6. 高性能实时渲染广泛的模型(超过800公顷的区域),高细节(从道路到非常精细的物体,如一个螺丝)
  7. 没有必要提前着色问题(目前)
  8. 纹理必须适用

Rendring Engines: 经过一番搜索,我找到了以下3D渲染解决方案:

  1. CadFaster |引擎:"CadFaster |引擎是一种独特且可扩展性最高的3D渲染解决方案,适用于技术应用.它比通常的CAD应用程序快十倍.该引擎包括用于3D数据集和几何的专利实时同步机制.允许自动集成到主应用程序.CadFaster | Engine还包含专利的实时多边形缩减,可提高3D性能." 引自DevMaster

  2. Quest3D:"使用Quest3D创建软件,Web和模拟器.Quest3D是架构可视化,产品可视化,数字娱乐,计算机辅助培训和高端VR应用的完美解决方案." 引自Quest3D的介绍

  3. OpenSceneGraph:"OpenSceneGraph是一个开源的高性能3D图形工具包,应用程序开发人员在视觉模拟,游戏,虚拟现实,科学可视化和建模等领域使用.完全用标准C++和OpenGL编写...... OpenSceneGraph是现已成为世界领先的场景图技术,广泛应用于视觉,空间,科学,石油天然气,游戏和虚拟现实等行业.主要语言:C/C++语言包装:C#,...... 从OSG主页引用.

  4. 此外,DevMaster3DLinks还提供了几乎完整的可用引擎列表

3d rendering

8
推荐指数
1
解决办法
6096
查看次数

在参数中传递大量值类型的性能

我目前正在阅读Jon Skeet的深度C#,并一直在阅读有关值和参考类型的内容.

这让我想到了使用值类型作为方法参数的成本,因为传递时会复制该值.虽然考虑整数时这个成本并不多,但如果这些值参数是多次传递的字符串会怎么样呢.

使用StringBuilder类并传递它而不是字符串类型会有好处吗?

如果您认为字符串很长,比如说1024个字符,并且在方法之间传递了几次,那么与具有相同值的StringBuilder形成对比,最终会将引用的值传递给每个4或8个字节时间,你可以在改进中取得相当大的成绩.

这个问题也可能突出了我对String类型可能缺少的一个重要理解,随时可以在需要的地方指出这一点.

此外,这对每个实例中的字符串的垃圾收集有什么影响?

编辑:显然我忘了关于字符串的一个重要信息,这使得问题无效.谢谢格罗弗.

.net performance

0
推荐指数
1
解决办法
151
查看次数

不需要操作系统的Java VM?

我知道BEA正在研究LiquidVM,它不需要底层操作系统,但想知道开源社区中是否有人正在开发类似的东西.

理想情况下,我想找到一个实现,其中VM由OS引导加载程序直接加载.

java xen virtualization vmware jvm

18
推荐指数
2
解决办法
6179
查看次数

MySQL中的'go'相当于什么?

在TSQL中,我可以说:

insert into myTable (ID) values (5)
GO
select * from myTable
Run Code Online (Sandbox Code Playgroud)

在MySQL中我无法编写相同的查询.

在MySQL中编写此查询的正确方法是什么?

mysql sql t-sql

21
推荐指数
5
解决办法
3万
查看次数

是否可以在密码框中粘贴文本?

你的网络开发人员怎么想?我们是否应该禁用在我们的Web应用程序中屏蔽密码框中的粘贴.这可能是一个安全漏洞还是造成混乱或不必要的结果?这可能是一个关于用户体验的问题,而不是编程问题.

passwords user-interface

4
推荐指数
2
解决办法
372
查看次数

你写的最难的课程是什么?

只是好奇,我想知道你所经历过的所有程序员或新手(像我一样)都做了什么.那么你写的最复杂的程序是什么?

code-complexity

19
推荐指数
9
解决办法
1万
查看次数

Python初学者:如何防止'finally'执行?

功能代码:

# Connect to the DB
try:
    dbi = MySQLdb.connect(host='localhost', \
                          user='user', \
                          passwd='pass', \
                          db='dbname', \
                          port=3309)

    print "Connected to DB ..."

except MySQLdb.Error, e:
    apiErr = 2
    apiErrMsg = "Error %d: %s" % (e.args[0], e.args[1])
    return

    # To prevent try..finally bug in python2.4,
    # one has to nest the "try: except:" part. 
try:
    try:
        sql = dbi.cursor()
        sql.execute("""
        SELECT *
        FROM table
        WHERE idClient =  %s
        """, (key, ))

        access = sql.fetchall()

        # [some more code here]           

    except …
Run Code Online (Sandbox Code Playgroud)

python

3
推荐指数
2
解决办法
1500
查看次数

sqlite上的information_schema.columns

我想做下一个查询:

SELECT table_name, column_name, data_type, is_nullable, ... 
FROM information_schema.columns
Run Code Online (Sandbox Code Playgroud)

在sqlite数据库上.

我检查了

PRAGMA table_info(table_name); 
Run Code Online (Sandbox Code Playgroud)

但不适合我的需要,只需检查一个表的字段.

我检查了

select * from sqlite_master where type = 'table';
Run Code Online (Sandbox Code Playgroud)

但这只是获取表名和创建查询.

有没有办法将这些"加入"方法?或任何其他建议或想法?TX

database sqlite schema

7
推荐指数
1
解决办法
8847
查看次数

删除char数组

这个问题关系到这一个.鉴于此代码:

char *p = new char[200];
delete[] p;
Run Code Online (Sandbox Code Playgroud)

如果你p[100] = '\0'在删除p之前设置会发生什么?

我有一些代码,当我试图删除一个非空终止的char数组时,我收到了一个调试错误,这是关于删除未分配的堆内存.它似乎从数组的边界中删除了内存.

c++ memory-management

23
推荐指数
3
解决办法
8万
查看次数

在Java中,当我不在内部类时,如何访问外部类?

如果我有一个内部类的实例,我如何从不在内部类中的代码访问外部?我知道在内部类中,我可以Outer.this用来获取外部类,但我找不到任何外部方法来获取它.

例如:

public class Outer {
  public static void foo(Inner inner) {
    //Question: How could I write the following line without
    //  having to create the getOuter() method?
    System.out.println("The outer class is: " + inner.getOuter());
  }
  public class Inner {
    public Outer getOuter() { return Outer.this; }
  }
}
Run Code Online (Sandbox Code Playgroud)

java syntax nested

32
推荐指数
4
解决办法
3万
查看次数