GLS Developer's BBS
  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
1 / 3 ページ 前へ→

Re:GLS3 glsGetLibraryVersionについて
 Ogg  - 05/12/26(月) 20:34 -

引用なし
パスワード
   おお、000308B0に。
更新お疲れ様です、ありがとうございました^^
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)@i211-16-246-229.s02.a016.ap.plala.or.jp>

Re:GLS3 glsGetLibraryVersionについて
 L.Entis  - 05/12/24(土) 20:19 -

引用なし
パスワード
   ▼Oggさん:
> 実質的な問題は全く無いので、のんびり待ってますね。

今更新されているバージョンで直っていると思いますよ。
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@ZP145178.ppp.dion.ne.jp>

Re:GLS3 glsGetLibraryVersionについて
 Ogg  - 05/12/23(金) 6:16 -

引用なし
パスワード
   返信ありがとうございます。
実質的な問題は全く無いので、のんびり待ってますね。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)@i58-95-208-116.s02.a016.ap.plala.or.jp>

Re:GLS3 glsGetLibraryVersionについて
 L.Entis  - 05/12/20(火) 0:17 -

引用なし
パスワード
   どうも、こんばんは、L.Entis です。

▼Oggさん:
> はじめまして。
> EntisGLS ver.3.08aにてglsGetLibraryVersion関数を使用すると、
> 0x000307E0が返ってきますが、これはミスでしょうか?

わ〜〜〜〜ん、ミスです。orz
今、手元にあるソースを見てみると直ってるみたいなので、いつか気がついたのだと思います(大汗)

なんだか、忘れているうちに細々とバグが直っている様な気がするので、そろそろ新しいバージョンをリリースします。
少々お待ちください(汗)
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@ZP134051.ppp.dion.ne.jp>

GLS3 glsGetLibraryVersionについて
 Ogg  - 05/12/18(日) 23:13 -

引用なし
パスワード
   はじめまして。
EntisGLS ver.3.08aにてglsGetLibraryVersion関数を使用すると、
0x000307E0が返ってきますが、これはミスでしょうか?
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)@i220-220-69-172.s02.a016.ap.plala.or.jp>

Re:TransTestでのページ違反
 alt  - 04/7/18(日) 23:48 -

引用なし
パスワード
   修正後のソースコードをビルドし、例外が発生しないことを確認しました。
素早い対応ありがとうございます。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; .NET CLR 1.0.3705; .NET CLR 1.1.4322)@q225069.ap.plala.or.jp>

Re:TransTestでのページ違反
 L.Entis (開発者)  - 04/7/18(日) 22:59 -

引用なし
パスワード
   はじめまして。L.Entis です。

> 最近GLSを使い始めたのですが、TransTestのソースコードをビルドして実行すると、
> 終了時にページアクセス例外が発生します。

あらら(汗)
調べてみましたら、TransTest のソースのほうに問題があるようでした。
ソースのほうは、こっそり上書きしてあります。(^^;

http://www.entis.gr.jp/gls/sample/bin/TransTest_src.lzh

どこを変えたかというと、ETransSprite::Release 関数を追加したことです。
static なオブジェクトの解放を glsCloseLibrary より先にやってませんでした。
(こういうのに自分で引っかかってしまうとは、アホタレっぷり炸裂 (^^;)
回避法としては glsCloseLibrary を呼び出さないようにしても問題は無いのですが、美しくないのでちゃんと解放コードを入れてあげました。
あと、initgls.dll を使う手もありますが。
とりあえず、そんな感じですので、試してみてくださ〜〜〜い。

#にしても、サンプルをいい加減、新機能を使ったものを 1、2 増やしたいところだけど…(汗)
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@tokyo-fa3-216.kcom.ne.jp>

TransTestでのページ違反
 alt  - 04/7/18(日) 16:13 -

引用なし
パスワード
   初めまして。
最近GLSを使い始めたのですが、TransTestのソースコードをビルドして実行すると、
終了時にページアクセス例外が発生します。
デバッガで追ってみたところ、呼び出し履歴は以下のようになっていました。

    transtest.exe!eglDeleteImageBuffer(EGL_IMAGE_INFO * pImageInf=0x00e00090) 行 661 + 0x8    Asm
    transtest.exe!EGLImage::DeleteImage() 行 330 + 0xc    C++
>    transtest.exe!EGLImage::~EGLImage() 行 36    C++
    transtest.exe!`eh vector destructor iterator'(void * ptr=0x0057ae08, unsigned int size=0x0000000c, int count=0x00000003, void (void *)* pDtor=0x00473410) + 0x58    C++
    transtest.exe!$E2() + 0x31    C++
    transtest.exe!doexit(int code=0x00000000, int quick=0x00000000, int retcaller=0x00000000) 行 376    C
    transtest.exe!exit(int code=0x00000000) 行 303 + 0xd    C
    transtest.exe!WinMainCRTStartup() 行 267    C
    KERNEL32.DLL!77e61af6()

同梱されている TransTest.exeや、他のサンプルのソースでは問題ないので、
こちらの環境依存の問題かもしれませんが、よろしければ確認をお願いいたします。

OSはWindows2000、コンパイラはVS2003.NET、CPUはDuronを使用しています。
GLSのバージョンは3.05eです。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; .NET CLR 1.0.3705; .NET CLR 1.1.4322)@q225069.ap.plala.or.jp>

EGL-3D 関係の高速化
 L.Entis (開発者)  - 04/6/25(金) 0:12 -

引用なし
パスワード
   次の EntisGLS のバージョンアップ (3.05e) で EGL-3D 関係で、特に z バッファを使わない描画の一部が高速化します。(今までもちょくちょく EGL-3D はチューニングが進んできていますが)
これで、EGL-3D を 2D の延長表現として利用する場合でも、2D の変形描画に近い速度でより高度な表現が可能になると思います。
AVG などでも、画面がゆらゆらと揺らめくような表現などが結構きれいに、そこそこ高速にできるみたいです。(やってみました)
EntisGLS で 3D を直にやる人は、多分私くらいなもんだろうと思いますが、まあ、2D の表現として、速度もある程度高速化したら使い道もグッと広がるかな、と。
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@tokyo-fa3-187.kcom.ne.jp>

Re:回答ありがとうございます
 L.Entis(開発者)  - 04/4/13(火) 13:44 -

引用なし
パスワード
   ▼OiOiさん:
> 現在、サンプル等を参考にゲームを作ろうとしているので、詳しい説明が聞けて
> 勉強になりました。
> レジストについては、申し訳ございませんが、使いこなせる自信がついてから
> させて頂きます。
> 挫折する可能性の方が高いですし(^^;

質問はお気軽にどうぞ。
レジストはお気になさらずに
では〜

#そういえば、サンプルは一度ビルドしなおしたほうがいいなぁ〜(汗)
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@q021158.ppp.asahi-net.or.jp>

回答ありがとうございます
 OiOi  - 04/4/13(火) 0:14 -

引用なし
パスワード
   ▼L.Entis(開発者)さん:

返信ありがとうございました。

詞葉スクリプトのサンプル「敷紙の白」がXMLでスクリーンモードを設定されて
いたので、てっきり出来ない(出来ても非常に手間が掛かる)のかと思い込んで
いました。

現在、サンプル等を参考にゲームを作ろうとしているので、詳しい説明が聞けて
勉強になりました。
レジストについては、申し訳ございませんが、使いこなせる自信がついてから
させて頂きます。
挫折する可能性の方が高いですし(^^;
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)@YahooBB218143040016.bbtec.net>

Re:ファイル名が過去に戻っているようです...
 L.Entis(開発者)  - 04/4/12(月) 0:37 -

引用なし
パスワード
   ▼OiOiさん:

はじめまして

> EntisGLSのファイル名が「gls305a.lzh」でなく、「gls304a.lzh」に
> なっています。
> バージョンダウンされたのかと思ってしまいました(^^;

ありゃりゃ(^^;
修正しておきました

> 後、ついでに質問ですが、DirectXを使っているゲームでよく見かける、
> 起動後のフルスクリーン⇔ウィンドウ表示の切り替えをユーザーに行わせる
> (モニター自体の解像度を切り替える)のは、EntisGLSで実現可能でしょうか?

可能です。
EntisGLS では、その辺は EGameWindow クラスで行うのが標準的ですが、EGameWindow::CreateDisplay でウィンドウを作成した後でも、EGameWindow::ChangeCooperationLevel 関数でウィンドウモードとフルスクリーンモードを切り替えることはできます。(解像度を変えることもできます)
ドキュメントは… GLS-ref.doc の中ですね。
EGameWindow クラス自体はサンプルの CubeTest とかで使ってますね。(ChangeCooperationLevel 関数は使ってませんが)
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@tokyo-fa3-230.kcom.ne.jp>

ファイル名が過去に戻っているようです...
 OiOi  - 04/4/10(土) 1:43 -

引用なし
パスワード
   はじめまして。
EntisGLSのファイル名が「gls305a.lzh」でなく、「gls304a.lzh」に
なっています。
バージョンダウンされたのかと思ってしまいました(^^;

後、ついでに質問ですが、DirectXを使っているゲームでよく見かける、
起動後のフルスクリーン⇔ウィンドウ表示の切り替えをユーザーに行わせる
(モニター自体の解像度を切り替える)のは、EntisGLSで実現可能でしょうか?
おバカな質問ですみませんが、宜しくお願いします。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)@YahooBB218143040016.bbtec.net>

EGL-3D関係
 L.Entis  - 04/2/12(木) 11:08 -

引用なし
パスワード
   そういえば、EGL の 3D 関係の機能で、先のスレッドでのクリッピング画像のテクスチャマッピングが既に有効になってます。
(EGLImage::SetImageView 関数でクリップした画像をテクスチャマッピングに利用できます。(32ビットのときのみですがw))
実装は eglCreateTextureImage 関数だったかな? history.txt を読んでください。

それと、現バージョン(ver.3.04a)で既に実装済みだと思いますが、3D のモデル当たり判定用の EGL_MODEL_MATRIX が追加されています。
次のバージョンでサンプルプログラムを追加します。
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@gw.syncdesign.co.jp>

Re:クリッピング画像のテクスチャ利用
 L.Entis(開発者)  - 04/2/1(日) 21:52 -

引用なし
パスワード
   > ちなみにこの画像を回転させるときrp.rev.vRevCenter が
> クリッピング先の原画像での位置になってしまっているようなのですが
> これは仕様でしょうか?

仕様です。

ところで EGL_IMAGE_INFO 構造体からテクスチャに使える EGL_IMAGE_INFO 構造体へのポインタを生成する関数を作ったほうが良いのかな〜〜〜?とか考えております。

PEGL_IMAGE_INFO eglCreateTexture( PEGL_IMAGE_INFO pImage, PCEGL_RECT pViewRect, DWORD dwFlags ) ;

のような感じで、ヘッダ情報をテクスチャマッピングに使えるクリップ画像情報を生成するような関数ですが、気が向いたら作るかも…。

ではでは〜
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@tokyo-fa3-142.kcom.ne.jp>

Re:クリッピング画像のテクスチャ利用
 knockedout  - 04/2/1(日) 17:25 -

引用なし
パスワード
   無事描画されました。
お手数かけました。

ちなみにこの画像を回転させるときrp.rev.vRevCenter が
クリッピング先の原画像での位置になってしまっているようなのですが
これは仕様でしょうか?

別に調整するのは簡単なのですが
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; i-NavFourF)@YahooBB219015025008.bbtec.net>

Re:クリッピング画像のテクスチャ利用
 L.Entis(開発者)  - 04/2/1(日) 9:06 -

引用なし
パスワード
   > rp.rev.nViewVertexes = 0;
> とした場合はキチンと画像全体が表示されます。

あいたっ!
これは GLS3 のバグっぽいですね。
お手数をおかけして申し訳ありませんが、ver.3.03f をアップしておきましたのでこちらで試していただけますでしょうか?
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@tokyo-fa3-134.kcom.ne.jp>

Re:クリッピング画像のテクスチャ利用
 knockedout  - 04/2/1(日) 0:25 -

引用なし
パスワード
   返答ありがとうございます

▼L.Entis(開発者)さん:
> で、クリップ画像を描画する方法ですが、rp.dwFlags に E3DRP_RENDER_REV_IMAGE を指定した場合には、rp.pSrcImage に元の画像(ReadImageFile 関数で読み込んだり CreateImage 関数で生成したものなど)を指定し、rp.rev.nViewVertexes, rp.rev.nViewVertexes メンバをつかってクリップして表示したい領域を囲んだ凹でない多角形を指定すれば実現できますので、元の画像バッファへのポインタと矩形情報を管理しておけば良いのではないでしょうか?

というわけで

E3D_RENDER_PARAM    rp ;
::eslFillMemory( &amp;rp, 0, sizeof(rp) ) ;
EGL_POINT    ptHotSpot = m_Image.GetHotSpot( ) ;

rp.dwFlags = E3DRP_RENDER_REV_IMAGE | E3DSAF_TEXTURE_SMOOTH ;
rp.rgbaColor.rgbMul.dwPixelCode = 0x00FFFFFF ;
rp.rgbaColor.rgbAdd.dwPixelCode = 0;

rp.pSrcImage = m_Image;

E3D_VECTOR_2D ViewVertexes[4];
ViewVertexes[0].x = (REAL32)(ptRect->left);
ViewVertexes[0].y = (REAL32)(ptRect->top);
ViewVertexes[1].x = (REAL32)(ptRect->right);
ViewVertexes[1].y = (REAL32)(ptRect->top);
ViewVertexes[2].x = (REAL32)(ptRect->right);
ViewVertexes[2].y = (REAL32)(ptRect->bottom);
ViewVertexes[3].x = (REAL32)(ptRect->left);
ViewVertexes[3].y = (REAL32)(ptRect->bottom);

rp.rev.vRenderPos = vPos ;
rp.rev.vRevCenter.x = (REAL32) ptHotSpot.x ;
rp.rev.vRevCenter.y = (REAL32) ptHotSpot.y ;
rp.rev.pRevMatrix = matrix ;
rp.rev.nViewVertexes = 4;
rp.rev.pViewVertexes = ViewVertexes;

こんな風にして見ました。
今度は省略無しです(笑)
このときPrepareRenderParamは無事動いているのですが
バッファに何も描画されません。
ちなみに
rp.rev.nViewVertexes = 0;
とした場合はキチンと画像全体が表示されます。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; i-NavFourF)@YahooBB219015025008.bbtec.net>

Re:クリッピング画像のテクスチャ利用
 L.Entis(開発者)  - 04/1/31(土) 14:15 -

引用なし
パスワード
   こんにちは、L.Entis です。

▼knockedoutさん:
> ある画像からクリッピングした画像をテクスチャとして使用したいのですが
> このようにしてPrepareRenderParamを動かしたところfalseが返ります。

え〜〜と、上のコードですととりあえず2点、問題があるように思えます。
一つは、テクスチャ画像に使えるのは eglCreateImageBuffer 関数などで生成された画像バッファのみなので、クリップした生成した EGL_IMAGE_INFO 構造体を渡すとダメなのです。(クリップして生成した構造体の dwInfoSize は sizeof(EGL_IMAGE_INFO) になっていると思いますが、egCreateImageBuffer 関数や eslDuplicateImage〜などで生成したバッファの dwInfoSize は少し大きな値になっていると思います。増えた部分に最適化のための情報が設定されています)
このような場合には、テクスチャの頂点のUV座標を指定することによって部分領域を指定するようにしてください。
で、もう一つの問題点は rp.dwFlags に E3DRP_RENDER_REV_IMAGE を指定しないのに、それ以外のパラメータを省略してしまっていることですが、…えっと、単に全部コピペすると長くなるからしなかったのであれば問題ありません。
因みに、rp.rgbaColor.rgbMul には白色を指定するようにしておかないと、どんなテクスチャ画像でも真っ黒になってしまいます。

で、クリップ画像を描画する方法ですが、rp.dwFlags に E3DRP_RENDER_REV_IMAGE を指定した場合には、rp.pSrcImage に元の画像(ReadImageFile 関数で読み込んだり CreateImage 関数で生成したものなど)を指定し、rp.rev.nViewVertexes, rp.rev.nViewVertexes メンバをつかってクリップして表示したい領域を囲んだ凹でない多角形を指定すれば実現できますので、元の画像バッファへのポインタと矩形情報を管理しておけば良いのではないでしょうか?

もう一つは、クリップして出来た EGLImage を DuplicateImage 関数などでバッファごと複製したものを渡してあげれば良いのですが、これは画像イメージそのものを複製するので、メモリを消費しますし、あまり良い方法ではありません。
EGLImage クラスを派生したクラスで置き換え、SetImageView 関数をオーバーライドすれば、元の画像バッファへのポインタと EGL_RECT 構造体の内容を管理できるかと思います。
因みに、画像の部分領域のレンダリングの場合、特に画像が視線に対して垂直に見えている場合、端の1ドットがクリップしたい領域をはみ出して描画されてしまうかもしれませんので、それが許されない場合には、あらかじめ画像バッファを複製しておくしかありません。
・ツリー全体表示
<Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)@tokyo-fa4-199.kcom.ne.jp>

クリッピング画像のテクスチャ利用
 knockedout  - 04/1/31(土) 1:04 -

引用なし
パスワード
   ある画像からクリッピングした画像をテクスチャとして使用したいのですが

E3D_RENDER_PARAM    rp ;
::eslFillMemory( &rp, 0, sizeof(rp) ) ;

EGLImage SrcImage;
EGLImage ClippedImage;
ClippedImage.SetImageView(SrcImage.GetInfo(), ptRect);
rp.pSrcImage = ClippedImage.GetInfo();

if (!m_hRenderPoly->PrepareRenderParam( &rp ) )
{
    m_hRenderPoly->RenderPolygon( ) ;
}

このようにしてPrepareRenderParamを動かしたところfalseが返ります。

こういった場合どのようにすればよろしいでしょうか
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; i-NavFourF)@YahooBB219015025008.bbtec.net>

  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
1 / 3 ページ 前へ→
ページ:  ┃  記事番号:
9038 C-BOARD v3.02 is not Free?