OpenGL ESについて Mac

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

OpenGL ESについて Mac

#1

投稿記事 by » 15年前

このサイトはDirectX関連メインな気がするのですが
どうしてもわからないので質問させて頂きました。
スレ違いだったらすみません。

iPhoneアプリを作る為にMacを使いプログラムをしております。
購入した本についていた素材は透過するのですが
自分で作った素材はなぜか透過しません。
素材はWindowsで作っております。

mato_1 自分で作ったもの(Windows フォトショにて)
mato_2 本についてたもの

クリーニングしてもmato_1の方は背景にゴミみたいなものがついてしまってます。
何故なのかおわかりになる方いらっしゃらないでしょうか?

ookami

Re:OpenGL ESについて Mac

#2

投稿記事 by ookami » 15年前

> mato_1 自分で作ったもの(Windows フォトショにて)
> mato_2 本についてたもの

それぞれのファイル形式は何ですか?

# 「ゴミみたいなもの」といえばjpgのフライノイズが思いうかびますが…

Re:OpenGL ESについて Mac

#3

投稿記事 by » 15年前

一応添付してはあるのですが両方ともpngです。
何故なのか本当にわかりません・・・。

ISLe

Re:OpenGL ESについて Mac

#4

投稿記事 by ISLe » 15年前

画像の透過情報は問題ないように見えますけど。

透過しないというのはまったく透過しないということですか?
ゴミが付くということは透過自体は行われているが余分なものが描画されているということですか?
そのゴミについてもっと詳しく教えていただけませんか?

テクスチャはマルチサンプルされるとき上下左右が繋がっていているように処理されるので端っこギリギリまで描かれていると画像の反対側がはみ出てくると思います。

シエル

Re:OpenGL ESについて Mac

#5

投稿記事 by シエル » 15年前

そのゴミをこの目で見てみたいです。

Re:OpenGL ESについて Mac

#6

投稿記事 by » 15年前

皆さん回答ありがとうございます。
サイズが変わってるのは気にしないで下さい。

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
drawTexture( 0.0f, 0.0f, 1.0f, 1.0f, texTarget, 255, 255, 255, 255 );
glDisable(GL_BLEND);

Re:OpenGL ESについて Mac

#7

投稿記事 by » 15年前

すみません。
間違えて投稿してしまいました。

サイズが変わってるのは気にしないで下さい。

ソースはこんな感じです。
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
drawTexture( 0.0f, 0.0f, 1.0f, 1.0f, texTarget, 255, 255, 255, 255 );
glDisable(GL_BLEND);

画像のような感じになってしまいます。

Justy

Re:OpenGL ESについて Mac

#8

投稿記事 by Justy » 15年前

 読み込み部分がどうなっているのかわからないのですが、多分使っているサンプルの問題な気がします。

 試しに

Downloads for sazameki's opengl-texture-loader - GitHub
http://github.com/sazameki/opengl-textu ... /downloads

こちらのライブラリをDLして、SZGLTextureLoader.h/mファイルをプロジェクトに
登録して下さい。

 使い方は読み込みたいソースで SZGLTextureLoader.hを importして SZGLLoadTexture関数に
リソースパスと2つのCGSizeを SZGLLoadTextureに指定します。
[color=#d0d0ff" face="monospace]
CGSize imageSize, textureSize;
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"mato_1" ofType:@"png"];
GLuint texName = SZGLLoadTexture(imagePath, &imageSize, &textureSize);
if(texName == GL_INVALID_VALUE)
// エラー
[/color]
こんな感じで読み込み完了です。

 これで表示してみてください。
 多分うまく表示されるはずです。

Re:OpenGL ESについて Mac

#9

投稿記事 by » 15年前

Justy様

ビンゴです!!
本に書いてある関数を使っていたので疑っておりませんでした。
頂いたソースを使ってみましたら問題なく読み込め解決しました。

Justyさんのお名前を度々見ますが
このようなことまで知っているのですね・・・
もう知らないことがないのでは・・・と思ってしまいました><

今回は本当に助かりました。
ありがとうございました。

シエル

Re:OpenGL ESについて Mac

#10

投稿記事 by シエル » 15年前

JustyさんはOpenGLまで詳しいのか。。。さすがです。
解決してるようなので代わりに解決しときます。

Justy

Re:OpenGL ESについて Mac

#11

投稿記事 by Justy » 15年前

 解決して何よりです。


>Justyさんのお名前を度々見ますが
 最近は忙しくてあまり書き込めてないんですよね。


>JustyさんはOpenGLまで詳しいのか
 嗜む程度ですよ。
 それに今回のは OpenGLというより iPhone特有の問題ですし。

Re:OpenGL ESについて Mac

#12

投稿記事 by » 15年前

>>シエル様
解決マークをつけ忘れておりました。
申し訳ないです。
代わりにつけて頂いてありがとうございます。

>>Justy様
特有な問題でも理解できるのがすごいですね><
色々なサイトをみたり本を見ているのですが未だにあまり理解できないです・・・

閉鎖

“C言語何でも質問掲示板” へ戻る