最近在自学arbaro创建树模型,刚开了个头,把经验记录下
基本操作
Arbaro在国内感觉基本看不到人提,搜的人也少,我又不想翻外网,所以一开始完全是摸着石头过河,感觉好难。这玩意开放源代码,我下好之后还把它导入IDEA以为要编译,鼓捣半天发现给的下载里已经包括了JAR打包可执行文件(arbaro.jar),直接点开就能用。
树的参数方面还是非常简单的,有点数学基础的话看下给的tips就能大致弄懂参数设置。就不多写了(其实就是懒)
可视化
参照了 stackoverflow上老哥的贴子做了两个简单的、没有实现光滑面的OBJ文件可视化类。放代码:
import GraphicsObjects.Point4f;
import GraphicsObjects.Vector4f;
import org.lwjgl.opengl.GL11;
public class Model {
//OBJ data storage and draw
public Point4f[] vertices = new Point4f[20000];
//public Vector4f[] normals = new Vector4f[];
public static int[][] faces = new int[20000][4];
//obj虽然最简单,但是导出文件体积太大,动辄上万个点和面,所以分配了[20000]
//但这也只能拿来可视化比较小的树模型
static int i=0;
static int j=0;
public Model(){
}
public static void DrawModel(Model m){
GL11.glBegin(GL11.GL_QUADS);
for (int face = 0;face<j+1; face++) {
// per face
Vector4f v = m.vertices[m.faces[face][1]].MinusPoint(m.vertices[m.faces[face][0]])