Java tutorial
/* * Copyright 2016 Matthew Rogers. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.bossletsplays.duthorix.utils; import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.nio.IntBuffer; import java.util.ArrayList; import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; import org.lwjglx.Sys; /** * <strong>Project:</strong> DuthorixExploration * <strong>File:</strong> Util.java * * @author Matthew Rogers */ public class Util { /** * @param min The lower bound of the range (inclusive). * @param max The upper bound of the range (inclusive). * @return A random floating point value within the range given. */ public static float randFloat(float min, float max) { return (float) (min + Math.random() * ((1 + max) - min)); } /** * @param min The lower bound of the range (inclusive). * @param max The upper bound of the range (inclusive). * @return A random integer within the range given. */ public static int randInt(int min, int max) { return (int) (min + Math.random() * ((1 + max) - min)); } public static void enableCulling() { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glCullFace(GL11.GL_BACK); } public static void disableCulling() { GL11.glDisable(GL11.GL_CULL_FACE); } public static void enableWireframe() { GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_COLOR_MATERIAL); GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE); } public static void disableWireframe() { GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_COLOR_MATERIAL); } public static long getTime() { return Sys.getTime() * 1000 / Sys.getTimerResolution(); } public static FloatBuffer storeInFloatBuffer(float[] data) { FloatBuffer fb = BufferUtils.createFloatBuffer(data.length); fb.put(data); fb.flip(); return fb; } public static IntBuffer storeInIntBuffer(int[] data) { IntBuffer ib = BufferUtils.createIntBuffer(data.length); ib.put(data); ib.flip(); return ib; } public static ByteBuffer createByteBuffer(int size) { return BufferUtils.createByteBuffer(size); } public static String[] removeEmptyStrings(String[] data) { ArrayList<String> result = new ArrayList<String>(); for (int k = 0; k < data.length; k++) if (!data[k].equals("")) result.add(data[k]); String[] res = new String[result.size()]; result.toArray(res); return res; } public static int[] toIntArray(Integer[] data) { int[] result = new int[data.length]; for (int p = 0; p < data.length; p++) result[p] = data[p].intValue(); return result; } }