package com.example.student.rajawalitest; import android.content.Context; import android.util.Log; import android.view.MotionEvent; import org.rajawali3d.lights.DirectionalLight; import org.rajawali3d.materials.Material; import org.rajawali3d.materials.methods.DiffuseMethod; import org.rajawali3d.materials.textures.ATexture; import org.rajawali3d.materials.textures.Texture; import org.rajawali3d.math.vector.Vector3; import org.rajawali3d.primitives.Sphere; import org.rajawali3d.renderer.RajawaliRenderer; public class Renderer extends RajawaliRenderer { public Context context; public Renderer(Context context){ super(context); this.context = context; setFrameRate(60); } private DirectionalLight directionalLight; private Sphere earthSphere; @Override protected void initScene() { //ライティングのセットアップ directionalLight = new DirectionalLight(1f, .2f, -1.0f); directionalLight.setColor(1.0f, 1.0f, 1.0f); directionalLight.setPower(2); getCurrentScene().addLight(directionalLight); //マテリアルのセットアップ Material material = new Material(); material.enableLighting(true); material.setDiffuseMethod(new DiffuseMethod.Lambert()); material.setColor(0); //テクスチャの貼り付け Texture earthTexture = new Texture("Earth",R.drawable.earthtruecolor_nasa_big); try{ material.addTexture(earthTexture); } catch (ATexture.TextureException error){ Log.d("DEBUG", "TEXTURE ERROR"); } //たま earthSphere = new Sphere(1, 24, 24); earthSphere.setMaterial(material); getCurrentScene().addChild(earthSphere); getCurrentCamera().setZ(4.2f); } @Override public void onRender(final long elapsedTime, final double deltaTime) { super.onRender(elapsedTime, deltaTime); earthSphere.rotate(Vector3.Axis.Y, 1.0); } @Override public void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset) { } @Override public void onTouchEvent(MotionEvent event) { } }