我们正在开发一个基于GIS的应用程序,它模拟虚拟现实环境中的真实单词对象(即管道,道路等).目前我们使用ArcScene中从ESRI的ArcGIS包3D渲染,并在今后,我们打算用我们自己的3D环境来取代它.
问题: 在上述应用程序中进行实时3D渲染的最佳方法是什么?我在这个领域没有任何经验,我真的很困惑.我应该使用一个可用的3D渲染引擎(下面列出一些)吗?如果答案是肯定的,那么应考虑哪些参数(不论其成本如何)?有没有人在这个领域有任何经验或建议?
环境和必需品:
Rendring Engines: 经过一番搜索,我找到了以下3D渲染解决方案:
CadFaster |引擎:"CadFaster |引擎是一种独特且可扩展性最高的3D渲染解决方案,适用于技术应用.它比通常的CAD应用程序快十倍.该引擎包括用于3D数据集和几何的专利实时同步机制.允许自动集成到主应用程序.CadFaster | Engine还包含专利的实时多边形缩减,可提高3D性能." 引自DevMaster
Quest3D:"使用Quest3D创建软件,Web和模拟器.Quest3D是架构可视化,产品可视化,数字娱乐,计算机辅助培训和高端VR应用的完美解决方案." 引自Quest3D的介绍
OpenSceneGraph:"OpenSceneGraph是一个开源的高性能3D图形工具包,应用程序开发人员在视觉模拟,游戏,虚拟现实,科学可视化和建模等领域使用.完全用标准C++和OpenGL编写...... OpenSceneGraph是现已成为世界领先的场景图技术,广泛应用于视觉,空间,科学,石油天然气,游戏和虚拟现实等行业.主要语言:C/C++语言包装:C#,...... 从OSG主页引用.
我目前正在阅读Jon Skeet的深度C#,并一直在阅读有关值和参考类型的内容.
这让我想到了使用值类型作为方法参数的成本,因为传递时会复制该值.虽然考虑整数时这个成本并不多,但如果这些值参数是多次传递的字符串会怎么样呢.
使用StringBuilder类并传递它而不是字符串类型会有好处吗?
如果您认为字符串很长,比如说1024个字符,并且在方法之间传递了几次,那么与具有相同值的StringBuilder形成对比,最终会将引用的值传递给每个4或8个字节时间,你可以在改进中取得相当大的成绩.
这个问题也可能突出了我对String类型可能缺少的一个重要理解,随时可以在需要的地方指出这一点.
此外,这对每个实例中的字符串的垃圾收集有什么影响?
编辑:显然我忘了关于字符串的一个重要信息,这使得问题无效.谢谢格罗弗.
我知道BEA正在研究LiquidVM,它不需要底层操作系统,但想知道开源社区中是否有人正在开发类似的东西.
理想情况下,我想找到一个实现,其中VM由OS引导加载程序直接加载.
在TSQL中,我可以说:
insert into myTable (ID) values (5)
GO
select * from myTable
Run Code Online (Sandbox Code Playgroud)
在MySQL中我无法编写相同的查询.
在MySQL中编写此查询的正确方法是什么?
你的网络开发人员怎么想?我们是否应该禁用在我们的Web应用程序中屏蔽密码框中的粘贴.这可能是一个安全漏洞还是造成混乱或不必要的结果?这可能是一个关于用户体验的问题,而不是编程问题.
只是好奇,我想知道你所经历过的所有程序员或新手(像我一样)都做了什么.那么你写的最复杂的程序是什么?
功能代码:
# 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) 我想做下一个查询:
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
这个问题关系到这一个.鉴于此代码:
char *p = new char[200];
delete[] p;
Run Code Online (Sandbox Code Playgroud)
如果你p[100] = '\0'在删除p之前设置会发生什么?
我有一些代码,当我试图删除一个非空终止的char数组时,我收到了一个调试错误,这是关于删除未分配的堆内存.它似乎从数组的边界中删除了内存.
如果我有一个内部类的实例,我如何从不在内部类中的代码访问外部类?我知道在内部类中,我可以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)