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

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

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

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

Q&A

解決済

1回答

5235閲覧

OpenGLにおけるPNG画像読み込みについて

junbx42

総合スコア13

C++

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

0グッド

0クリップ

投稿2015/12/19 09:53

編集2015/12/20 02:37

プログラミングを独学で勉強している者です。
よろしくお願い致します。

OpenGLによる投影マッピングについて。
http://www21.atwiki.jp/opengl/pages/299.html
このサイトの投影マッピングのプログラムを実行したところ、以下のようになりました。
イメージ説明

どうやらPNG画像の読み込みが上手くいっていないようなのですが、

main.cpp
PNG.h
lodepng.cpp
lodepng.h

などPNG画像読み込みに関わるコードがたくさんあり、何がボトルネックになっているのか分かりません。
(lodepng.cpp、lodepng.hのダウンロードはここから。http://www21.atwiki.jp/opengl/pages/15.html)

PNG画像読み込みに関して、main.cppのInit()内の318行目
texture = new TEXTURE("proj.png");
で画像の名前を指定しています。
この"proj.png"の部分を"(あべこべな文字).png"に変えても、実行結果が変わらないので何か別の問題が発生しているのかもしれません。

開発環境はWindowsのVisual Studio15です。
どなたか助けて頂けたら幸いです、何卒よろしくお願い致しします。

12/20 11:35追記
PNG.hのTEXTURE::LOAD_PNGの様子
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。外していたらすいません。

proj.pngファイルの置き場所がよろしくないのでは?
ビルドしたexeファイルを起動する時のカレント・フォルダに置かないと読めないことが多いです。
exeファイルと同じフォルダに置き、explorerからexeを起動してみればうまく行くかも知れません。

投稿2015/12/19 10:21

Chironian

総合スコア23272

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

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

junbx42

2015/12/19 11:24 編集

ご回答ありがとうございます! proj.pngの置き場所についてはご指摘の通り私も考えました。 しかし画像を表示するだけのプログラムを回してみて問題なかったので、間違っていないと思われます。 説明不足で申し訳ございません!ご回答感謝致します。
Chironian

2015/12/19 12:40

ならば、TEXTURE::LOAD_PNG()関数でpngファイル読み込みを制御しているようですので、このブレークを張ってステップ実行していけば何か判るような気がします。 もし、この中で設定しているWidth、Heightが正しい値でしたら、pngファイルは読めている可能性が高いです。正しくなければ、pngファイルが読めていないのでTEXTURE::LOAD_PNG()関数を重点的に解析することをお勧めします。
junbx42

2015/12/20 02:35

引き続きのご回答ありがとうございます。 ご指摘の通り、ブレークポイントを張ってみたところ画像のようになりました... pngファイルを読めているが、マッピングできないという事でしょうか?
Chironian

2015/12/23 07:08

ああ、ごめんなさい。見落としてました。 でも、512x512の画像を読んで、Height, Widthがその通りになっていると言うことは画像は読めているように思います。 となるとその先の問題なので、解析の難易度はかなり高いと思います。 私なら、可能な限りサンプル提供元の人が使ったのと同じものを使ってトライするだろうと思います。それでもダメなら、バンザイしそうな案件です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問