public Mesh generatePanelVertices(){ List<Vertex> vertexList = new ArrayList<Vertex>(); List<Integer> indexList = new ArrayList<Integer>(); for (int i=0; i<numFonts; i++){ Mesh mesh = UIPanelLoader.load("gui/basicPanel.gui"); for (Vertex v : mesh.getVertices()){ v.getPosition().setX(v.getPosition().getX() + i*0.65f); vertexList.add(v); } for (int index : mesh.getIndices()){ indexList.add(index + 4 * i); } } Vertex[] vertices = new Vertex[vertexList.size()]; vertexList.toArray(vertices); Integer[] objectArray = new Integer[indexList.size()]; indexList.toArray(objectArray); int[] indices = Util.toIntArray(objectArray); Mesh mesh = new Mesh(vertices, indices); return mesh; }
Vec3f translation = new Vec3f((float)(Math.random()*100)-50 + getCenter().getX(), 0, (float)(Math.random()*100)-50 + getCenter().getZ()); Vec3f scaling = new Vec3f(s,s,s); Vec3f rotation = new Vec3f(0,(float) Math.random()*360f,0); float terrainHeight = TerrainHelper.getTerrainHeight(translation.getX(),translation.getZ()); terrainHeight -= 2; translation.setY(terrainHeight);
vertex.getPosition().setX(vertex.getPosition().getX()*1.2f); vertex.getPosition().setZ(vertex.getPosition().getZ()*1.2f); vertex.setPosition(vertex.getPosition().mul(7.4f)); vertex.getPosition().setX(vertex.getPosition().getX()*1f); vertex.getPosition().setZ(vertex.getPosition().getZ()*1f); addCluster(new Tree01Cluster(10,new Vec3f(-1002,0,1550),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1085,0,1536),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1121,0,1473),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1114,0,1423),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1074,0,1378),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1138,0,1345),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1039,0,1129),objects)); addCluster(new Tree01Cluster(10,new Vec3f(-1011,0,1042),objects)); addCluster(new Tree01Cluster(6,new Vec3f(-1181,0,1346),objects)); addCluster(new Tree01Cluster(6,new Vec3f(-1210,0,1348),objects)); addCluster(new Tree01Cluster(6,new Vec3f(-1211,0,1392),objects));
public void getTerrainPosition(){ Vec3f pos = new Vec3f(0,0,0); DoubleBuffer xPos = BufferUtils.createDoubleBuffer(1); DoubleBuffer yPos = BufferUtils.createDoubleBuffer(1); screenPos.getY()/BaseContext.getWindow().getHeight()); Vec3f ndc = new Vec3f(w.getX() * 2 - 1, w.getY() * 2 - 1, depth); float cw = BaseContext.getCamera().getProjectionMatrix().get(3,2) / (ndc.getZ() - BaseContext.getCamera().getProjectionMatrix().get(2,2)); Vec3f clip = ndc.mul(cw); Vec4f clipPos = new Vec4f(clip.getX(),clip.getY(),clip.getZ(),cw); Vec4f worldPos = BaseContext.getCamera().getViewProjectionMatrix().invert().mul(clipPos); worldPos = worldPos.div(worldPos.getW()); pos.setX(worldPos.getX()); pos.setY(worldPos.getY()); pos.setZ(worldPos.getZ());
Vec3f localScaling = new Vec3f(gap,0,gap); Vec3f localTranslation = new Vec3f(location.getX(),0,location.getY()); getWorldTransform().getLocalTranslation().setX(-config.getScaleXZ()/2f); getWorldTransform().getLocalTranslation().setZ(-config.getScaleXZ()/2f); getWorldTransform().getLocalTranslation().setY(0);
lensFlareTexture.getOrthoTransform().getTranslation().setX( light.getScreenSpacePosition().getX() + (sunToWindowCenter.getX() * lensFlareTexture.getSpacing()) - lensFlareTexture.getOrthoTransform().getScaling().getX()/2f); lensFlareTexture.getOrthoTransform().getTranslation().setY( light.getScreenSpacePosition().getY() + (sunToWindowCenter.getY() * lensFlareTexture.getSpacing()) - lensFlareTexture.getOrthoTransform().getScaling().getY()/2f); lensFlareTexture.setOrthographicMatrix( new Matrix4f().Orthographic2D().mul(lensFlareTexture.getOrthoTransform().getWorldMatrix()));
public Sun(){ getWorldTransform().setLocalTranslation(GLDirectionalLight.getInstance().getDirection().mul(-2600)); Vec3f origin = new Vec3f(0,0,0); Vec3f[] array = new Vec3f[1]; array[0] = origin; GLPointVBO3D buffer = new GLPointVBO3D(); buffer.addData(array); Material<GLTexture> material1 = new Material<GLTexture>(); material1.setDiffusemap(new Texture2DTrilinearFilter("textures/sun/sun.png")); Material<GLTexture> material2 = new Material<GLTexture>(); material2.setDiffusemap(new Texture2DTrilinearFilter("textures/sun/sun_small1.png")); GLRenderInfo renderInfo = new GLRenderInfo(SunShader.getInstance(), new AlphaBlendingSrcAlpha(), buffer); addComponent(NodeComponentType.MAIN_RENDERINFO, renderInfo); addComponent(NodeComponentType.MATERIAL0, material1); addComponent(NodeComponentType.MATERIAL1, material2); Light light = new Light(); light.setOcclusionQuery(new GLOcclusionQuery()); addComponent(NodeComponentType.LIGHT, light); LightHandler.getLights().add(light); }
public void updateUniforms(int windowWidth, int windowHeight, Matrix4f viewProjectionMatrix) { setUniformf("windowWidth", windowWidth); setUniformf("windowHeight", windowHeight); setUniform("viewProjectionMatrix", viewProjectionMatrix); setUniform("sunWorldPosition", GLDirectionalLight.getInstance().getDirection().mul(-2800)); } }
Vec3f translation = new Vec3f((float)(Math.random()*100)-50 + getCenter().getX(), 0, (float)(Math.random()*100)-50 + getCenter().getZ()); Vec3f scaling = new Vec3f(s,s,s); Vec3f rotation = new Vec3f(0,(float) Math.random()*360f,0); float terrainHeight = TerrainHelper.getTerrainHeight(translation.getX(),translation.getZ()); terrainHeight -= 2; translation.setY(terrainHeight);
vertex.getPosition().setX(vertex.getPosition().getX()*1.2f); vertex.getPosition().setZ(vertex.getPosition().getZ()*1.2f); vertex.setPosition(vertex.getPosition().mul(2.4f)); vertex.getPosition().setX(vertex.getPosition().getX()*1f); vertex.getPosition().setZ(vertex.getPosition().getZ()*1f); addCluster(new Tree02Cluster(6,new Vec3f(-528,0,874),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-696,0,932),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-765,0,976),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-820,0,1035),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-595,0,624),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-462,0,597),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-525,0,704),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-552,0,788),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-608,0,712),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-568,0,894),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-593,0,954),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-663,0,665),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-728,0,654),objects)); addCluster(new Tree02Cluster(6,new Vec3f(-706,0,1103),objects));
public Ocean() { super(128, OceanBRDFShader.getInstance(), OceanWireframeShader.getInstance()); getWorldTransform().setScaling(Constants.ZFAR,1,Constants.ZFAR); getWorldTransform().setTranslation(-Constants.ZFAR/2,0,-Constants.ZFAR/2); setClip_offset(4); setClipplane(new Vec4f(0,-1,0,getWorldTransform().getTranslation().getY() + getClip_offset())); }
Vec3f translation = new Vec3f((float)(Math.random()*100)-50 + getCenter().getX(), 0, (float)(Math.random()*100)-50 + getCenter().getZ()); Vec3f scaling = new Vec3f(s,s,s); Vec3f rotation = new Vec3f(0,(float) Math.random()*360f,0); float terrainHeight = TerrainHelper.getTerrainHeight(translation.getX(),translation.getZ()); terrainHeight -= 1; translation.setY(terrainHeight);
vertex.setPosition(vertex.getPosition().mul(135)); vertex.getPosition().setX(vertex.getPosition().getX()*1.1f); vertex.getPosition().setZ(vertex.getPosition().getZ()*1.1f); addCluster(new Palm01Cluster(8,new Vec3f(-166,0,-826),objects)); addCluster(new Palm01Cluster(8,new Vec3f(-290,0,-666),objects));