什么是技术背后的基本前提,例如在Oblivion(以及其他游戏中,我确定;没有足够的知识)中发现的技术,当你从远处观看它们时,远处的物体会被模糊地显示出来?例如,一个大塔距离一英里远,您会看到它从地平线上隐藏起来的模糊矩形......显然,一个巨大的3D场景无法全部渲染,我知道在高度图的情况下,只有近似算法用于降低远离相机的高度图质量,但对于特定物体,显示这些物体的最佳方式是什么?
我想也许是一种预渲染技术,在这种技术中你可以选择景观周围的特定位置,然后制作一个程序,绘制围绕该点的所有高度图和3D模型并拍照.它需要几张照片,然后当播放器靠近那个地方时,这些照片将被用作天空盒.
另一个更明显的技术是存储非常粗糙的3D模型,但是3D渲染系统如何专门选择渲染建筑物的粗略模型而不是其他不太重要的粗略模型(并且可能不可见 - 来自 - 物品?你会如何与高度图一起存储类似的东西?也许通过设计,只有一些这样重要的地标,然后只将它们的列表存储在一个小文件中,并在每个帧上渲染那些小于x真正远距离的那些?
我知道Halo系列选择将游戏划分为级别,然后每个级别都有一个不同的手工天空盒.这是我在第一个建议中的目的,但我不确定.我想我真的只是想在我的想法中收集其他想法或改进或问题,这样我就可以选择用我有限的时间和知识来制作原型.
另一个相关主题是如何在远处显示山脉,因为它们将是高度图的一部分而不是顶部的3D模型,因此它们实际上不能具有粗略版本,并且高度图近似算法可能会螺旋从那么远的山上上山(假设你甚至会尝试近似并渲染如此遥远的几何形状,你可能不会这样).如果您在答案中也涵盖了这一点,那么奖励积分.:)
谢谢!
PS我正在使用OpenGL.我只是在寻找基本概念,但如果您选择发布示例代码,请使用OpenGL函数和术语!:)
编辑:谢谢你的答案!出于文档目的,这里是我发现的另一个资源:游戏编程中的第4.9章宝石2涵盖了将远景渲染到天空盒的概念:http://books.google.com/books? id = 1-NFBElV97IC&lpg = PA416 &ots = SUMIfijZly& dq =渲染%20distant%20to%20skybox&pg = PA416 (不幸的是,预览只是本章的第一页......我将在8月份回来后立即从我大学的图书馆获取该书)
在阅读完这些内容之后,我仍然认为LOD适用于距离相当近的物体.如果物体甚至不是一个像素大,但你仍然将它们送到显卡,你只是浪费电力,无论是否使用LOD.对于除了绝对最大的远距离物体之外的一切都是如此; 在大多数情况下,一些高大的建筑物和一些山脉,但是从这样的距离看不到小的细节模型(灌木丛,甚至树木,岩石,其他任何风景......).所以我喜欢渲染到天空盒技术,当我到达这座桥时,我就是这样穿过它的; 我会确保为所有型号使用LOD,我只是不会渲染这样的距离.
顺便说一下,我更像是一个Oblivion游戏,所以答案可能取决于游戏类型.
客户声称,在查询某些数据时,应用程序(.NET)会返回与客户直接查看数据表时不同的数据.
我知道可能有各种各样的原因并且在完全不同的地方.我的目的不是在这里解决它,而是要求经验丰富的DBA和DB开发人员:
SELECT ... FOR UPDATE导致这个???在某些表中,列位置发生了变化:显然,客户为数据库使用情况分析的顾问提供了完整的数据库访问权限.当使用子句时,那个伟大的家伙改变了列的顺序,以查看表格开头的几个审计字段SELECT * ....
使用dbGhost将数据库模式与问题出现前几天进行的备份模式进行比较,并发现列位置差异.
接下来发生的事情与编程无关,但更多的是政治问题.
因此,这sp_refreshview是解决方案.我只是更进一步找到导致问题的原因.谢谢你们.
我正在创建条形码,并将它们嵌入到网页中.我应该使用什么格式?我在JPG和PNG之间摇摆不定,我真的不明白两者的优点.尺寸在这方面很重要,可读性也是如此(更清晰的条形码比模糊条形码更好).还有其他格式会更好吗?
我正在学习jQuery并创建了几个插件.不幸的是,由于我公司的编码实践,他们希望将所有javascript代码提取到js文件.这对我来说有两个挑战:
任何建议,更正都非常感谢
谢谢
System.Text.RegularExpressions命名空间是否为我提供了任何可以发现输入字符串是否具有("abc [0-9]"或"^ aeiou $")或者没有("abc123")元字符的内容?或者我是否必须手动检查某个列表中的非转义字符?
如何在Preferences(PreferenceCategory)中的任意ListView中创建类别?
我发现android.R.layout.preference_category渲染灰色的TextView但是没有看到它在java代码中的任何地方提到过.
我承认在部署测试代码和生产代码时,我没有采取任何"正确"的措施.我一直在使用ASP.NET,我通常在Visual Studio中本地运行它,它可以工作,我上传它,我在生产服务器上再次测试它.
我读过几个人说部署Rails应用程序比较困难,ruby网站上有关于部署RoR的特殊程序/方法.我只玩过RoR.部署有什么特别之处?您不只是复制并粘贴代码并运行它(从开发机器到生产)?是因为一个在Apache中而另一个在内置服务器上运行?
如果重要的话,这将在Mac服务器上.
我试图将一个大的xml文件拆分成更小的块.我写入输出文件然后检查它的大小,看它是否通过了一个阈值,但我不认为getsize()方法按预期工作.
什么是获取大小变化的文件的文件大小的好方法.
我做过这样的事......
import string
import os
f1 = open('VSERVICE.xml', 'r')
f2 = open('split.xml', 'w')
for line in f1:
if str(line) == '</Service>\n':
break
else:
f2.write(line)
size = os.path.getsize('split.xml')
print('size = ' + str(size))
Run Code Online (Sandbox Code Playgroud)
运行此命令将打印0作为文件大小进行约80次迭代,然后打印4176.在实际输出之前,Python是否将输出存储在缓冲区中?
我想制作一个看起来完全像按钮的CheckBox.我最初的微弱尝试根本不起作用.
<CheckBox x:Name="test">
Testing!
<CheckBox.Template>
<ControlTemplate>
<Button>
<ContentPresenter/>
</Button>
</ControlTemplate>
</CheckBox.Template>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)
ContentPresenter不起作用(按钮为空),单击该按钮时,IsChecked属性不会切换.此外,当IsChecked为真时,我不知道如何使按钮看起来被推.
我正在寻找使用AquaticPrime作为Cocoa共享软件应用程序的密钥生成器.对于那些不了解它的人,你可以在这里查看:http://aquaticmac.com/.但是,当我尝试实现它时,我遇到了问题.我不希望我的用户必须将整个字典复制并粘贴到我的应用程序中(或从文件浏览器中选择它),我只是希望他们有一些代码如:1111-1111-1111-1111-1111为他们解锁应用程序.有没有办法在AquaticPrime中做到这一点?但假设它不能,是否有其他框架可以做到这一点,还是我只需要硬编码?
3d ×1
android ×1
barcode ×1
button ×1
c# ×1
categories ×1
checkbox ×1
cocoa ×1
deployment ×1
filesize ×1
image ×1
javascript ×1
jquery ×1
listview ×1
python ×1
regex ×1
registration ×1
schema ×1
sql ×1
sql-server ×1
string ×1
wpf ×1