protected static void generate(FileHandle file, float strength) {
Pixmap blocks = new Pixmap(INDIVIDUAL_SIZE * 3, INDIVIDUAL_SIZE * 3, AOTextureGenerator.FORMAT);
Pixmap gaussian = new Pixmap(INDIVIDUAL_SIZE, INDIVIDUAL_SIZE, AOTextureGenerator.FORMAT);
Pixmap output = new Pixmap(TEXTURE_SIZE, TEXTURE_SIZE, AOTextureGenerator.FORMAT);
double[][] gwm = AOTextureGenerator.gaussianWeightMatrix(SIGMA);
int gaussianRadius = (gwm.length - 1) / 2;
Color blockColor = new Color(strength, strength, strength, 1f);
for (int i = 0; i < TOTAL; i++) {
String n = name(i);
System.out.print(n + " ");
AOTextureGenerator.clearPixmap(blocks);
AOTextureGenerator.clearPixmap(gaussian);
AOTextureGenerator.setupPixmap(blocks, i, blockColor);
AOTextureGenerator.gaussianPixmap(blocks, gaussian, gwm, gaussianRadius);
//PixmapIO.writePNG(folder.child(n + "_blocks_" + sigma + ".png"), blocks);
//PixmapIO.writePNG(folder.child(n + "_gaussian_" + sigma + ".png"), gaussian);
output.drawPixmap(gaussian, (i % SQRT_TOTAL) * INDIVIDUAL_SIZE, (i / SQRT_TOTAL) * INDIVIDUAL_SIZE, 0, 0, INDIVIDUAL_SIZE, INDIVIDUAL_SIZE);
if (i % SQRT_TOTAL == SQRT_TOTAL - 1) System.out.println();
}
PixmapIO.writePNG(file, output);
output.dispose();
blocks.dispose();
gaussian.dispose();
}
AOTextureGenerator.java 文件源码
java
阅读 27
收藏 0
点赞 0
评论 0
项目:Cubes
作者:
评论列表
文章目录