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

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

新規登録して質問してみよう
ただいま回答率
85.48%
バイナリ

バイナリは、「0」と「1」だけで表現されている2進数のデータ形式。または、テキスト以外の情報でデータが記述されているファイルを指します。コンピューター内の処理は全て2進数で表記されています。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1420閲覧

.objファイルをバイナリ化するコードでusemtlの対処方法が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

バイナリ

バイナリは、「0」と「1」だけで表現されている2進数のデータ形式。または、テキスト以外の情報でデータが記述されているファイルを指します。コンピューター内の処理は全て2進数で表記されています。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2022/01/04 11:42

編集2022/01/04 12:28

提示コードですが.objファイルの規模が大きい物をバイナリ化したいのですがその際にusemtlの位置が所々異なる位置に配置されているためどのように頂点情報を作ったらいいかがわからないです。 v,vt,vn,fの順番で来ますが僕の.objデータはfの途中でusemtlが来ます

実現したい事

頂点データの塊ごとにマテリアル名をくっつけたいです。以下ような構造体がありそのmaterialName変数にusemtlのマテリアル名を格納して頂点ごとに管理してglDrawArray()関数にセットして使いたいです。

cpp

1struct attribute 2{ 3glm::vec3 position; 4glm::vec2 uv; 5glm::vec3 normal; 6} 7 8struct vertex 9{ 10std::vector<attribute> attr; 11std::string materialName; 12} 13 14 15
パターン1

cpp

1f 62120/68167/65138 62121/68168/65139 59903/65980/62952 2f 62121/68168/65139 62122/68169/65140 59905/65982/62954 3f 62122/68169/65140 62123/68520/65483 59907/65984/62956 4f 62125/68170/65141 60303/66376/63348 60302/66372/63344 5f 60303/66376/63348 62125/68170/65141 62126/68172/65143 6f 60305/66377/63349 62126/68172/65143 62127/68173/65144 7usemtl Tifa_HairPin 8s off 9f 58166/68521/65484 58167/68522/65484 58181/68523/65484 10f 58184/68524/65485 58182/68525/65485 58183/68526/65485 11f 58176/68527/65486 58172/68528/65486 58173/68529/65486 12f 58172/68528/65487 58177/68530/65487 58171/68531/654

##### パターン2

vn -0.7048 -0.6334 0.3194 vn 0.4794 -0.2842 0.8303 vn -0.4794 -0.2842 0.8303 vn -0.4794 -0.2843 -0.8303 vn 0.4794 -0.2843 -0.8303 vn 0.4997 0.0330 -0.8656 vn 0.3817 -0.6454 0.6616 vn 0.7637 -0.6455 -0.0003 vn 0.3821 -0.6453 -0.6615 vn -0.3821 -0.6454 -0.6615 vn -0.7638 -0.6455 -0.0002 vn -0.3818 -0.6455 0.6615 vn 0.3959 0.6270 0.6709 vn 0.7786 0.6275 0.0070 vn -0.8662 0.0000 0.4997 vn 0.9072 0.0298 0.4196 vn -0.9072 -0.0299 -0.4197 usemtl Tifa_Accs s 1 f 62129/68747/65695 62163/68748/65696 62128/68749/65697 f 62130/68750/65698 62152/68751/65699 62129/68747/65695 f 62154/68752/65700 62130/68750/65698 62131/68753/65701 f 62155/68754/65702 62131/68753/65701 62132/68755/65703 f 62156/68756/65704 62132/68755/65703 62133/68757/65705 f 62157/68758/65706 62133/68757/65705 62134/68759/65707 f 62158/68760/65708 62134/68759/65707 62135/68761/65709 f 62159/68762/65710 62135/68761/65709

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

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

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

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

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

y_waiwai

2022/01/04 12:15

結果だけ出されてもどーしよーもないですが
episteme

2022/01/05 02:03

何が問題なのかわかりませんねぇ...
退会済みユーザー

退会済みユーザー

2022/01/05 02:49

質問ですがどの部分がわからないのでしょうか?
episteme

2022/01/05 02:57

> usemtlの位置が所々異なる位置に配置されているためどのように頂点情報を作ったらいいかがわからない 「usemtlの位置が所々異なる位置に配置されていることがどんな問題があるのか」がわからない。 newmtl ××× が現れると「ここから×××って名前をつけるよ」ってだけのことじゃないんですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問