Android Open Source - android_opengles Planet From Project Back to project page android_opengles .
License The source code is released under:
MIT License
If you think the Android project android_opengles listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.example.opengles;
/ / f r o m w w w . j a v a 2 s . c o m
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import javax.microedition.khronos.opengles.GL10;
public class Planet {
FloatBuffer mVertexData;
FloatBuffer mNormalData;
FloatBuffer mColorData;
float mScale;
float mSquash;
float mRadius;
int mStacks;
int mSlices;
public Planet(int stacks, int slices, float radius, float squash) {
this.mStacks = stacks;
this.mSlices = slices + 1;
this.mRadius = radius;
this.mSquash = squash;
init();
}
private void init() {
float [] vertexData;
float [] colorData;
float colorIncrement = 1.0f / (float ) mStacks;
float blue = 0f;
float red = 1.0f;
int numVertices = 0;
int vIndex = 0;
int cIndex = 0;
mScale = mRadius;
vertexData = new float [3 * mSlices * 2 * mStacks];
colorData = new float [4 * mSlices * 2 * mStacks];
for (int i = 0; i < mStacks; i++) {
float phi0 = (float ) Math.PI * ((float ) (i + 0) * (1.0f / (float ) mStacks) - 0.5f);
float phi1 = (float ) Math.PI * ((float ) (i + 1) * (1.0f / (float ) mStacks) - 0.5f);
float cosPhi0 = (float ) Math.cos(phi0);
float sinPhi0 = (float ) Math.sin(phi0);
float cosPhi1 = (float ) Math.cos(phi1);
float sinPhi1 = (float ) Math.sin(phi1);
for (int j = 0; j < mSlices; j++) {
float theta = -2.0f * (float ) Math.PI * (float ) j * (1.0f / (float ) (mSlices - 1));
float costheta = (float ) Math.cos(theta);
float sintheta = (float ) Math.sin(theta);
vertexData[vIndex + 0] = mScale * cosPhi0 * costheta;
vertexData[vIndex + 1] = mScale * sinPhi0 * mSquash;
vertexData[vIndex + 2] = mScale * cosPhi0 * sintheta;
vertexData[vIndex + 3] = mScale * cosPhi1 * costheta;
vertexData[vIndex + 4] = mScale * sinPhi1 * mSquash;
vertexData[vIndex + 5] = mScale * cosPhi1 * sintheta;
colorData[cIndex + 0] = red;
colorData[cIndex + 1] = 0f;
colorData[cIndex + 2] = blue;
colorData[cIndex + 3] = 1f;
colorData[cIndex + 4] = red;
colorData[cIndex + 5] = 0f;
colorData[cIndex + 6] = blue;
colorData[cIndex + 7] = 1f;
vIndex += 6;
cIndex += 8;
}
blue += colorIncrement;
red -= colorIncrement;
}
mVertexData = makeFloatBuffer(vertexData);
mColorData = makeFloatBuffer(colorData);
}
public void draw(GL10 gl) {
gl.glFrontFace(GL10.GL_CW);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mVertexData);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glColorPointer(4, GL10.GL_FLOAT, 0, mColorData);
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, mSlices * 2 * mStacks);
}
private FloatBuffer makeFloatBuffer(float [] data) {
ByteBuffer bb = ByteBuffer.allocateDirect(data.length * 4);
bb.order(ByteOrder.nativeOrder());
FloatBuffer fb = bb.asFloatBuffer();
fb.put(data);
fb.position(0);
return fb;
}
}
Java Source Code List com.example.android.wifidirect.DeviceDetailFragment.java com.example.android.wifidirect.DeviceListFragment.java com.example.android.wifidirect.FileTransferService.java com.example.android.wifidirect.WiFiDirectActivity.java com.example.android.wifidirect.WiFiDirectBroadcastReceiver.java com.example.android.wifidirect.discovery.ChatManager.java com.example.android.wifidirect.discovery.ClientSocketHandler.java com.example.android.wifidirect.discovery.GroupOwnerSocketHandler.java com.example.android.wifidirect.discovery.WiFiChatFragment.java com.example.android.wifidirect.discovery.WiFiDirectBroadcastReceiver.java com.example.android.wifidirect.discovery.WiFiDirectServicesList.java com.example.android.wifidirect.discovery.WiFiP2pService.java com.example.android.wifidirect.discovery.WiFiServiceDiscoveryActivity.java com.example.opengles.CubeRenderer.java com.example.opengles.Cube.java com.example.opengles.MainActivity.java com.example.opengles.Planet.java com.example.opengles.SolarSystemRenderer.java com.example.opengles.SquareRenderer.java com.example.opengles.Square.java com.nfg.sdk.NFGameServer.java com.nfg.sdk.NFGame.java com.nfg.wifidirect3p.ChatActivity.java com.nfg.wifidirect3p.WifiDirect3PActivity.java fi.iki.elonen.HelloServer.java fi.iki.elonen.HelloServer.java fi.iki.elonen.IWebSocketFactory.java fi.iki.elonen.InternalRewrite.java fi.iki.elonen.InternalRewrite.java fi.iki.elonen.NanoHTTPD.java fi.iki.elonen.NanoHTTPD.java fi.iki.elonen.NanoWebSocketServer.java fi.iki.elonen.ServerRunner.java fi.iki.elonen.ServerRunner.java fi.iki.elonen.SimpleWebServer.java fi.iki.elonen.SimpleWebServer.java fi.iki.elonen.TempFilesServer.java fi.iki.elonen.TempFilesServer.java fi.iki.elonen.WebServerPluginInfo.java fi.iki.elonen.WebServerPluginInfo.java fi.iki.elonen.WebServerPlugin.java fi.iki.elonen.WebServerPlugin.java fi.iki.elonen.WebSocketException.java fi.iki.elonen.WebSocketFrame.java fi.iki.elonen.WebSocketResponseHandler.java fi.iki.elonen.WebSocket.java fi.iki.elonen.debug.DebugServer.java fi.iki.elonen.debug.DebugServer.java fi.iki.elonen.samples.echo.DebugWebSocketServer.java fi.iki.elonen.samples.echo.DebugWebSocket.java fi.iki.elonen.samples.echo.EchoSocketSample.java org.java_websocket.AbstractWrappedByteChannel.java org.java_websocket.SSLSocketChannel2.java org.java_websocket.SocketChannelIOHelper.java org.java_websocket.WebSocketAdapter.java org.java_websocket.WebSocketFactory.java org.java_websocket.WebSocketImpl.java org.java_websocket.WebSocketListener.java org.java_websocket.WebSocket.java org.java_websocket.WrappedByteChannel.java org.java_websocket.client.AbstractClientProxyChannel.java org.java_websocket.client.WebSocketClient.java org.java_websocket.drafts.Draft_10.java org.java_websocket.drafts.Draft_17.java org.java_websocket.drafts.Draft_75.java org.java_websocket.drafts.Draft_76.java org.java_websocket.drafts.Draft.java org.java_websocket.exceptions.IncompleteHandshakeException.java org.java_websocket.exceptions.InvalidDataException.java org.java_websocket.exceptions.InvalidFrameException.java org.java_websocket.exceptions.InvalidHandshakeException.java org.java_websocket.exceptions.LimitExedeedException.java org.java_websocket.exceptions.NotSendableException.java org.java_websocket.exceptions.WebsocketNotConnectedException.java org.java_websocket.framing.CloseFrameBuilder.java org.java_websocket.framing.CloseFrame.java org.java_websocket.framing.FrameBuilder.java org.java_websocket.framing.FramedataImpl1.java org.java_websocket.framing.Framedata.java org.java_websocket.handshake.ClientHandshakeBuilder.java org.java_websocket.handshake.ClientHandshake.java org.java_websocket.handshake.HandshakeBuilder.java org.java_websocket.handshake.HandshakeImpl1Client.java org.java_websocket.handshake.HandshakeImpl1Server.java org.java_websocket.handshake.HandshakedataImpl1.java org.java_websocket.handshake.Handshakedata.java org.java_websocket.handshake.ServerHandshakeBuilder.java org.java_websocket.handshake.ServerHandshake.java org.java_websocket.server.DefaultSSLWebSocketServerFactory.java org.java_websocket.server.DefaultWebSocketServerFactory.java org.java_websocket.server.WebSocketServer.java org.java_websocket.util.Base64.java org.java_websocket.util.Charsetfunctions.java