質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1256閲覧

立体の大きさ変更について

退会済みユーザー

退会済みユーザー

総合スコア0

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/12/06 02:25

お世話になってます
今立体を表示するコードで立方体を表示されているのですが、
直方体も表示したいと思っています。
int verticesだけ、byte indicesだけを変えるのかもしくは両方を変えるかわかりません。
教えてください。
例なんかもあるとありがたいです

import javax.microedition.khronos.opengles.GL10; /** * Created by PC632G on 2016/11/22. */ import java.nio.ByteBuffer; import java.nio.IntBuffer; import java.nio.ByteOrder; import javax.microedition.khronos.opengles.GL10; public class Cube{ public Cube(){ int one = 0x10000; int vertices[] = { -one, -one, -one, one, -one, -one, one, one, -one, -one, one, -one, -one, -one, one, one, -one, one, one, one, one, -one, one, one }; int colors[] = { one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one, one }; byte indices[] = { 0,4,5, 0,5,1, 1,5,6, 1,6,2, 2,6,7, 2,7,3, 3,7,4, 3,4,0, 4,7,6, 4,6,5, 3,0,1, 3,1,2 }; mVertexBuffer = setupIntBuffer(vertices); mColorBuffer = setupIntBuffer(colors); mIndexBuffer = setupByteBuffer(indices); } // draw //------------------------- public void draw(GL10 gl){ gl.glFrontFace(GL10.GL_CW); gl.glVertexPointer(3, GL10.GL_FIXED, 0, mVertexBuffer); gl.glColorPointer(4, GL10.GL_FIXED, 0, mColorBuffer); gl.glDrawElements(GL10.GL_TRIANGLES, mIndexBuffer.capacity(), GL10.GL_UNSIGNED_BYTE, mIndexBuffer); } // util //------------------------- private IntBuffer setupIntBuffer( int[] arrays ){ // prepare ver // // tex ByteBuffer arrayBuffer = ByteBuffer.allocateDirect(arrays.length*4); arrayBuffer.order(ByteOrder.nativeOrder()); IntBuffer intBuffer = arrayBuffer.asIntBuffer(); intBuffer.put(arrays); intBuffer.position(0); return intBuffer; } private ByteBuffer setupByteBuffer( byte []arrays ){ ByteBuffer byteBuffer = ByteBuffer.allocateDirect(arrays.length); byteBuffer.put(arrays); byteBuffer.position(0); return byteBuffer; } private IntBuffer mColorBuffer; private IntBuffer mVertexBuffer; private ByteBuffer mIndexBuffer; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

辺の長さを変えるだけなので、verticesの変更だけで十分です。
どう伸ばしたいのかわかりませんが、試しにX部分
(-one, -one, -one,)←この一番左側の部分
を8個全て倍にしてください。それで横長になるはずです。

投稿2016/12/06 02:36

ishi9

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/06 02:47

うまくいきました。 ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問