问题列表 - 第1383页

OpenGL编码的一些最佳实践(尤其是面向对象)?

这个学期,我在我的大学学习了计算机图形学课程.目前,我们开始研究一些更先进的东西,如高度图,平均法线,细分等.

我来自面向对象的背景,所以我试图将我们所做的一切都放到可重用的类中.我在创建相机类方面取得了很大的成功,因为它主要取决于对gluLookAt()的一次调用,它几乎独立于OpenGL状态机的其余部分.

但是,我在其他方面遇到了一些麻烦.使用对象来表示原语并没有真正成功.这是因为实际的渲染调用依赖于很多外部事物,比如当前绑定的纹理等.如果您突然想要从特定类的表面法线更改为顶点法线,则会导致严重的问题.

我开始怀疑OO原则是否适用于OpenGL编码.至少,我认为我应该让我的课程不那么精细.

什么是堆栈溢出社区对此的看法?您的OpenGL编码最佳实践是什么?

c++ opengl oop

51
推荐指数
1
解决办法
2万
查看次数

编写泛型类来处理内置类型

可能不太实用,但仍然很有趣.

有一些关于矩阵乘法的抽象问题我已经快速实现了一个int的矩阵,然后测试了我的假设.

在这里我注意到只是int矩阵不好,如果我偶尔想用十进制或双精度.当然,我可以尝试将所有人都加倍,但这不方便.

继续假设我们可以有一堆对象,我们可以添加和繁殖 - 为什么不在我的矩阵中使用它们?

所以,在考虑它将是一个Matrix类之后,我现在面临无法使用泛型T,我需要它来支持一些可以添加和相乘的接口.

问题是我可以覆盖我的类中的运算符,但我不能引入一个支持运算符的接口.我有一个内置类型的运算符,但仍然没有接口.

考虑到你不想复制工人阶级的身体,你会在这种情况下做什么?包装和隐式铸造对我没什么帮助,我对一个漂亮的解决方案很感兴趣.

谢谢.

.net c# oop generics

2
推荐指数
1
解决办法
854
查看次数

您为Rails应用程序使用哪些部署目录(部署到debian框)?

我想知道Rails应用程序的最佳部署目录是什么?一些开发人员使用诸如的目录/u/apps/#{appname}.使用而不是或其他操作系统默认目录时是否有任何优势?/u/apps/#{appname}/var/www/#{appname}

显然,我想选择具有最佳安全属性和最小摩擦力的目录来设置服务器环境.

你如何部署你的Rails应用程序?你为什么使用特定的目录?你觉得它真的很重要吗?

ruby linux deployment mongrel ruby-on-rails

10
推荐指数
1
解决办法
1686
查看次数

高度可变域中的不可变功能对象

我正在利用Scala在业余时间学习函数式编程,我有一个闲置的新手问题.

在做像Haar小波变换这样的事情时,我可以看到具有不可变对象的优雅 - 即当数据本身由对象表示时不会改变.

但我看到一个博客,其中有人以小游戏为例证明了不变性.如果一个生物对象收到了伤害,它没有改变它的状态 - 它返回了一个新的生物对象,其中包含新的生命值和一个新的"aggro to X"标志.但是,如果我们设计像MMORPG这样的东西,魔兽世界说.战场上的一百名玩家......可能有成千上万的攻击和缓冲/减益效果以不同的方式影响他们.是否仍然可以使用完全不可变的对象来设计系统?对我来说,似乎每个'滴答'会有一大群新的实例.为了获得当前有效的对象实例,所有客户端都会不断地经历某种中心"游戏世界"对象,或者?

函数式编程是否适用于此,或者这是"最佳工作的最佳工具,可能在这里不可变"的情况?

functional-programming immutability

25
推荐指数
2
解决办法
2184
查看次数

如何在下拉样式控件中处理多个选择?

我有一个WinForms应用程序,其中一个视图,用户从ComboBox中的预定义时间跨度列表中选择一个时间跨度,其DropDownStyle属性设置为DropDownList.

现在,要求已经改变.用户将需要能够从时间跨度列表中进行多项选择.

是否可以在ComboBox中进行多项选择?当ComboBox折叠时,您如何呈现这些选择?不要忘记可用性方面.

是否存在可以满足用户需求的其他控件(内置或第三方,最好是某种类型的下拉)?

更新:误导性标题......

.net user-interface controls winforms

6
推荐指数
2
解决办法
2万
查看次数

如何构建一个用于打印的网页,以便它不会在页面上严重分裂?

我有一个生成长报告的Web应用程序,我需要打印它.如果我只打印页面,它将在物理页面的末尾打破.如何计算网页中断的位置,以便在打印时页面符号与物理页面对齐?

printing page-break

7
推荐指数
2
解决办法
1081
查看次数

NHibernate多对多关系表中的其他字段

当我与nhibernate有很多to.many关系并让nhibernate生成我的db模式时,它会添加一个包含相关实体主键的aditional表.是否可以向此添加其他字段并访问它们而不必手动使用sql麻烦?

.net c# nhibernate

3
推荐指数
1
解决办法
2176
查看次数

清除列表

我觉得很烦人,我无法清除列表.在这个例子中:

a = []
a.append(1)
a.append(2)

a = []
Run Code Online (Sandbox Code Playgroud)

第二次将a初始化为空白列表时,它会创建一个列表的新实例,该列表位于内存中的不同位置,因此我无法使用它来引用第一个,更不用说它效率低下了.

我可以看到保留相同指针的唯一方法是执行以下操作:

for i in range(len(a)):
    a.pop()
Run Code Online (Sandbox Code Playgroud)

这看起来很啰嗦,有没有更好的方法来解决这个问题?

python refactoring memory-management list

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

Log4Net Wrapper类看起来像什么?

我一直在寻找.net(c#)的日志框架,并决定在阅读stackoverflow上的一些问题/答案线程后给log4net一个机会.我看到人们一遍又一遍地提到他们使用log4net的包装类,我很想知道它会是什么样子.

我将我的代码拆分为不同的项目(数据访问/业务/ webservice/..).log4net包装器类怎么样?包装类是否需要包含在所有项目中?我应该将它作为一个单独的项目一起构建吗?

包装器应该是单件类吗?

log4net design-patterns

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

System.IO.ReadAllxxx/WriteAllxxx方法的性能

是否有Web上可用的System.IO.File.ReadAllxxx/WriteAllxxx方法与StreamReader/StremWriter类的性能比较.您认为在.net 3.0中读取/写入文本文件的最佳方式(从性能角度来看)是什么?

当我检查System.IO.File类MSDN页面时,在示例代码中MS正在使用StreamReader/StreamWriter进行文件操作.是否有任何特定的原因可以避免使用File.ReadAllxxx/WriteAllxxx方法,即使它们看起来更容易理解?

.net c# performance file-io .net-3.0

2
推荐指数
1
解决办法
939
查看次数