【发布时间】:2018-08-21 00:36:10
【问题描述】:
我必须为某些课程(使用 Java)实现渲染引擎(基于光线追踪)。已经提供了一些课程(但我可以随意更改我想要的所有内容)。有一些矩阵/向量类型的类都为每个元素使用单独的变量。对于 4x4 的矩阵,它看起来很丑,在我看来是反面向对象的。我会使用二维数组。但是 Java 会自动进行绑定检查。如果我使用数组而不是单独的变量,这会严重影响性能吗? (我知道性能和 Java 并不总是匹配,但它必须在 Java 中。)或者是否可以关闭此安全功能?
【问题讨论】:
-
4x4 Matrix 类有 16 个独立的浮点成员字段(例如:float m02,m03,..),而不是单个 float[4][4] 数组。我想将单独的变量更改为一个二维数组。但是如果我想访问实例元素 (i,j),Java 会自动检查 (i,j) 是否在数组的范围内。所以我的问题是,从长远来看,这是否会成为一个巨大的性能瓶颈(在具有 +-1000000 个顶点的模型上进行光线跟踪)。
标签: java arrays rendering raytracing