List of usage examples for com.badlogic.gdx.graphics.g3d ModelInstance ModelInstance
public ModelInstance(ModelInstance copyFrom)
From source file:com.badlogic.gdx.tests.dragome.examples.GearsDemo.java
@Override public void create() { environment = new Environment(); environment.set(new ColorAttribute(ColorAttribute.AmbientLight, .2f, .2f, .2f, 2f)); // environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, 0f, -0.5f, -0.5f)); sl = new PointLight().setPosition(-5, 10, -6).setColor(1, 1, 1, 1).setIntensity(150); // sl2 = new PointLight().setPosition(0, 7, 5).setColor(0.3f, 0.8f, 0.3f, 1) // .setIntensity(20); ///*from w w w . j av a 2s . c om*/ // sl3 = new PointLight().setPosition(0, 9, 6).setColor(0.3f, 0.3f, 0.8f, 1) // .setIntensity(20); environment.add(sl); // environment.add(sl2); // environment.add(sl3); cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); cam.position.set(-10, 3, 10f); cam.lookAt(-3, 0, 0); cam.near = 1f; cam.far = 100f; cam.update(); cameraController = new CameraInputController(cam); cameraController.autoUpdate = false; cameraController.forwardTarget = false; cameraController.translateTarget = false; Gdx.input.setInputProcessor(new InputMultiplexer(cameraController)); time = TimeUtils.millis(); viewport = new ScreenViewport(cam); guiViewport = new ScreenViewport(); DefaultShaderProvider defaultShaderProvider = new DefaultShaderProvider(); modelBatch = new ModelBatch(defaultShaderProvider); ModelBuilder modelBuilder = new ModelBuilder(); model1 = gear(modelBuilder, 1.0f, 4.0f, 1.0f, 20, 0.7f, Color.RED); gear1 = new ModelInstance(model1); model2 = gear(modelBuilder, 0.5f, 2.0f, 2.0f, 10, 0.7f, Color.GREEN); gear2 = new ModelInstance(model2); model3 = gear(modelBuilder, 1.3f, 2.0f, 1.5f, 10, 0.7f, Color.BLUE); gear3 = new ModelInstance(model3); font = new BitmapFont(); batch = new SpriteBatch(); lightModel = modelBuilder.createSphere(1, 1, 1, 10, 10, new Material(ColorAttribute.createDiffuse(1, 1, 1, 1)), Usage.Position); lightModel.nodes.get(0).parts.get(0).setRenderable(pLight = new Renderable()); }
From source file:com.badlogic.gdx.tests.ViewportTest3.java
License:Apache License
public void create() { modelBatch = new ModelBatch(); modelBuilder = new ModelBuilder(); environment = new Environment(); environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.3f, 0.3f, 0.3f, 1.f)); shadowLight = new DirectionalLight(); shadowLight.set(0.8f, 0.8f, 0.8f, -0.5f, -1f, 0.7f); environment.add(shadowLight);/*w w w . j av a2 s . c o m*/ modelBatch = new ModelBatch(); camera = new PerspectiveCamera(); camera.fieldOfView = 67; camera.near = 0.1f; camera.far = 300f; camera.position.set(0, 0, 100); camera.lookAt(0, 0, 0); viewports = ViewportTest1.getViewports(camera); viewport = viewports.first(); names = ViewportTest1.getViewportNames(); name = names.first(); ModelBuilder modelBuilder = new ModelBuilder(); Model boxModel = modelBuilder.createBox(50f, 50f, 50f, new Material(ColorAttribute.createDiffuse(Color.GREEN)), Usage.Position | Usage.Normal); boxInstance = new ModelInstance(boxModel); boxInstance.transform.rotate(1, 0, 0, 30); boxInstance.transform.rotate(0, 1, 0, 30); Gdx.input.setInputProcessor(new InputAdapter() { public boolean keyDown(int keycode) { if (keycode == Input.Keys.SPACE) { int index = (viewports.indexOf(viewport, true) + 1) % viewports.size; name = names.get(index); viewport = viewports.get(index); resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); } return false; } }); }
From source file:com.barconr.games.marblegame.Maze3Drenderer.java
License:Apache License
private void addBox(Vector3 position, float width, float height, float depth, Color col) { Model model = modelBuilder.createBox(width, height, depth, new Material(ColorAttribute.createDiffuse(col)), Usage.Position | Usage.Normal); ModelInstance mis = new ModelInstance(model); mis.transform.setTranslation(position); instances.add(mis);//from w w w . j a va 2 s . c om }
From source file:com.bladecoder.engine.model.Sprite3DRenderer.java
License:Apache License
private void retrieveSource(String source) { ModelCacheEntry entry = sourceCache.get(source); if (entry == null || entry.refCounter < 1) { loadSource(source);/*from w w w.j a v a 2 s. c o m*/ EngineAssetManager.getInstance().finishLoading(); entry = sourceCache.get(source); } if (entry.modelInstance == null) { Model model3d = EngineAssetManager.getInstance().getModel3D(source); entry.modelInstance = new ModelInstance(model3d); entry.controller = new AnimationController(entry.modelInstance); entry.camera3d = getCamera(entry.modelInstance); } }
From source file:com.bladecoder.engine.util.Utils3D.java
License:Apache License
public static void createFloor() { ModelBuilder modelBuilder = new ModelBuilder(); modelBuilder.begin();// w w w . j a v a2 s. c om MeshPartBuilder mpb = modelBuilder.part("parts", GL20.GL_TRIANGLES, Usage.Position | Usage.Normal | Usage.ColorUnpacked, new Material(ColorAttribute.createDiffuse(Color.WHITE))); mpb.setColor(1f, 1f, 1f, 1f); // mpb.box(0, -0.1f, 0, 10, .2f, 10); mpb.rect(-10, 0, -10, -10, 0, 10, 10, 0, 10, 10, 0, -10, 0, 1, 0); floorModel = modelBuilder.end(); floorInstance = new ModelInstance(floorModel); // TODO Set only when FBO is active floorInstance.materials.get(0).set(new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)); }
From source file:com.bladecoder.engine.util.Utils3D.java
License:Apache License
private static void createAxes() { ModelBuilder modelBuilder = new ModelBuilder(); modelBuilder.begin();// ww w. jav a2s.c o m MeshPartBuilder builder = modelBuilder.part("grid", GL20.GL_LINES, Usage.Position | Usage.ColorUnpacked, new Material()); builder.setColor(Color.LIGHT_GRAY); for (float t = GRID_MIN; t <= GRID_MAX; t += GRID_STEP) { builder.line(t, 0, GRID_MIN, t, 0, GRID_MAX); builder.line(GRID_MIN, 0, t, GRID_MAX, 0, t); } builder = modelBuilder.part("axes", GL20.GL_LINES, Usage.Position | Usage.ColorUnpacked, new Material()); builder.setColor(Color.RED); builder.line(0, 0, 0, 10, 0, 0); builder.setColor(Color.GREEN); builder.line(0, 0, 0, 0, 10, 0); builder.setColor(Color.BLUE); builder.line(0, 0, 0, 0, 0, 10); axesModel = modelBuilder.end(); axesInstance = new ModelInstance(axesModel); }
From source file:com.cyphercove.doublehelix.MainRenderer.java
License:Apache License
private void finishCreate() { needFinishCreate = false;//from w ww . ja v a2 s . c o m modelBatch = new ModelBatch(); disposables.add(modelBatch); environment = new Environment(); assets = new AssetManager(); disposables.add(assets); TextureLoader.TextureParameter trilinearRepeatTextureParams = new TextureLoader.TextureParameter(); trilinearRepeatTextureParams.format = Pixmap.Format.RGBA8888; trilinearRepeatTextureParams.magFilter = Texture.TextureFilter.Linear; trilinearRepeatTextureParams.minFilter = Texture.TextureFilter.MipMapLinearLinear; trilinearRepeatTextureParams.wrapU = Texture.TextureWrap.Repeat; trilinearRepeatTextureParams.wrapV = Texture.TextureWrap.Repeat; trilinearRepeatTextureParams.genMipMaps = true; assets.load(HELIX_NORMAL_AO_TEXTURE, Texture.class, trilinearRepeatTextureParams); assets.load(PARTICLE_A_TEXTURE, Texture.class, trilinearRepeatTextureParams); TextureLoader.TextureParameter bilinearClampedTextureParams = new TextureLoader.TextureParameter(); bilinearClampedTextureParams.format = Pixmap.Format.RGBA8888; bilinearClampedTextureParams.magFilter = Texture.TextureFilter.Linear; bilinearClampedTextureParams.minFilter = Texture.TextureFilter.MipMapLinearNearest; bilinearClampedTextureParams.wrapU = Texture.TextureWrap.ClampToEdge; bilinearClampedTextureParams.wrapV = Texture.TextureWrap.ClampToEdge; bilinearClampedTextureParams.genMipMaps = true; assets.load(BG_GLOW_TEXTURE, Texture.class, bilinearClampedTextureParams); assets.load(BG_BLOOM_TEXTURE, Texture.class, bilinearClampedTextureParams); assets.load(POINT_PARTICLE_TEXTURE, Texture.class, bilinearClampedTextureParams); TextureLoader.TextureParameter borderTexParams = new TextureLoader.TextureParameter(); borderTexParams.format = Pixmap.Format.Alpha; borderTexParams.magFilter = Texture.TextureFilter.Linear; borderTexParams.minFilter = Texture.TextureFilter.Linear; assets.load(FILM_BORDER_TEXTURE, Texture.class, borderTexParams); TextureLoader.TextureParameter noiseTexParams = new TextureLoader.TextureParameter(); noiseTexParams.format = Pixmap.Format.Alpha; noiseTexParams.magFilter = Texture.TextureFilter.Nearest; noiseTexParams.minFilter = Texture.TextureFilter.Nearest; noiseTexParams.wrapU = Texture.TextureWrap.Repeat; noiseTexParams.wrapV = Texture.TextureWrap.Repeat; assets.load(FILM_NOISE_TEXTURE, Texture.class, noiseTexParams); TextureLoader.TextureParameter scanlineTexParams = new TextureLoader.TextureParameter(); scanlineTexParams.format = Pixmap.Format.Alpha; scanlineTexParams.magFilter = Texture.TextureFilter.Linear; scanlineTexParams.minFilter = Texture.TextureFilter.Linear; scanlineTexParams.wrapU = Texture.TextureWrap.Repeat; scanlineTexParams.wrapV = Texture.TextureWrap.Repeat; assets.load(SCANLINE_TEXTURE, Texture.class, scanlineTexParams); assets.load(HELIX_MODEL, Model.class); assets.load(BG_MODEL, Model.class); assets.load(BG_BLOOM_MODEL, Model.class); assets.finishLoading(); helixNormalAOTexture = assets.get(HELIX_NORMAL_AO_TEXTURE, Texture.class); backgroundTexture = assets.get(BG_GLOW_TEXTURE, Texture.class); backgroundBloomTexture = assets.get(BG_BLOOM_TEXTURE, Texture.class); Texture filmNoiseTexture = assets.get(FILM_NOISE_TEXTURE, Texture.class); Texture filmBorderTexture = assets.get(FILM_BORDER_TEXTURE, Texture.class); Texture scanlineTexture = assets.get(SCANLINE_TEXTURE, Texture.class); Model helixModel = assets.get(HELIX_MODEL, Model.class); mainHelixModelInstance = new ModelInstance(helixModel); mainHelixModelInstance.userData = Settings.frontHelixColor; mainHelixTransformManager = new TransformManager(mainHelixModelInstance); rearHelixModelInstance = new ModelInstance(helixModel); rearHelixModelInstance.userData = Settings.rearHelixColor; rearHelixTransformManager = new TransformManager(rearHelixModelInstance); rearHelixTransformManager.eulers.set(12.477f, -96.843f, -7.902f); rearHelixTransformManager.position.set(7.95135f, -5.46558f, 9.82413f); Model bgModel = assets.get(BG_MODEL, Model.class); backgroundModelInstance = new ModelInstance(bgModel); Model bgBloomModel = assets.get(BG_BLOOM_MODEL, Model.class); backgroundBloomModelInstance = new ModelInstance(bgBloomModel); sssShader = new SubsurfaceScatteringShader(helixNormalAOTexture, (new Vector3(-0.6f, 1f, 1f)).nor()); sssShader.init(); disposables.add(sssShader); backgroundShader = new BackgroundShader(backgroundTexture); backgroundShader.init(); disposables.add(backgroundShader); unlitShader = new UnlitShader(backgroundBloomTexture); unlitShader.init(); disposables.add(unlitShader); blackShader = new BlackShader(); blackShader.init(); disposables.add(blackShader); bloomShaderProgram = loadShaderProgram("bloom"); disposables.add(bloomShaderProgram); particleATexture = assets.get(PARTICLE_A_TEXTURE, Texture.class); particleATextureRegion = new TextureRegion(particleATexture); particlePointTexture = assets.get(POINT_PARTICLE_TEXTURE, Texture.class); particles = new Particles(particlePointTexture, particleATextureRegion, cam); InputMultiplexer inputMultiplexer = new InputMultiplexer(inputAdapter, particles.inputAdapter); Gdx.input.setInputProcessor(inputMultiplexer); particleGroupStrategy = new ParticleGroupStrategy(cam); disposables.add(particleGroupStrategy); decalBatch = new DecalBatch(Particles.MAX_PARTICLES, particleGroupStrategy); disposables.add(decalBatch); billboardDecalBatch = new BillboardDecalBatch(Particles.MAX_PARTICLES, particleGroupStrategy); disposables.add(billboardDecalBatch); filmGrain = new FilmGrain(filmNoiseTexture, filmBorderTexture, scanlineTexture, false); disposables.add(filmGrain); filmGrainForBloom = new FilmGrain(filmNoiseTexture, filmBorderTexture, scanlineTexture, true); disposables.add(filmGrainForBloom); }
From source file:com.github.fauu.helix.core.Object.java
License:Open Source License
public Object(Vector2 position, String modelName, Model model, int elevation, Direction facing) { this.position = position; this.elevation = elevation; this.modelInstance = new ModelInstance(model); this.modelName = modelName; this.facing = facing; modelInstance.transform.setToTranslation(position.x, elevation, position.y + 1).rotate(new Vector3(0, 1, 0), -90);/* w w w . java 2s .c om*/ final TextureAttribute textureAttribute = (TextureAttribute) modelInstance.materials.first() .get(TextureAttribute.Diffuse); textureAttribute.textureDescription.magFilter = Texture.TextureFilter.Nearest; textureAttribute.textureDescription.minFilter = Texture.TextureFilter.Nearest; modelInstance.materials.first().set(textureAttribute); modelInstance.materials.first().set(new ColorAttribute(ColorAttribute.createDiffuse(Color.WHITE))); modelInstance.materials.first().set(new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)); //modelInstance.materials.first().set(new FloatAttribute(FloatAttribute.AlphaTest, 0.14f)); }
From source file:com.github.fauu.helix.displayable.AreaDisplayable.java
License:Open Source License
public AreaDisplayable(Model model) { instance = new ModelInstance(model); animationController = new AnimationController(instance); instance.transform.rotate(new Vector3(1, 0, 0), 90); for (Material material : instance.materials) { TextureAttribute ta = (TextureAttribute) material.get(TextureAttribute.Diffuse); ta.textureDescription.magFilter = Texture.TextureFilter.Nearest; ta.textureDescription.minFilter = Texture.TextureFilter.Nearest; material.set(ta);/*w ww . j a v a2s . co m*/ material.set(ColorAttribute.createDiffuse(Color.WHITE)); BlendingAttribute ba = new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); material.set(ba); } }
From source file:com.github.fauu.helix.editor.displayable.TileHighlightDisplayable.java
License:Open Source License
public TileHighlightDisplayable() { ModelBuilder modelBuilder = new ModelBuilder(); Model model = modelBuilder.createRect(0, 0, Z_OFFSET, 1, 0, Z_OFFSET, 1, 1, Z_OFFSET, 0, 1, Z_OFFSET, 0, 0, 1, GL20.GL_TRIANGLES,// ww w .jav a2s .c o m new Material(new ColorAttribute(ColorAttribute.createDiffuse(color)), new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)), VertexAttributes.Usage.Position | VertexAttributes.Usage.TextureCoordinates); instance = new ModelInstance(model); }