[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1920] from OSASK BOARD



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。


http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3b8494c7_184aa

From: Solid
Message-ID: 3b8494c7_184aa
Date: 2001/08/23 14:29
Subject: Re: Re: GUI周り

> 僕の想像ですが、おそらく、lib_drawlineで始点と終点を同じにすることで点
>を描画したのではないかと思います。これは涙ぐましい努力ですが、この方法な
>らとりあえず描けます。

これは想像してました・・・(やろうかとも思いましたので)。
GAPI_lineで行なっていると思うのですが、さすがに点ひとつ打つのに
これだけのコードが走るのは・・・と、思い止まりました。
(てっきり斜めにも引けるラインルーチンで boxを描くと想像してました・・・
後々のアクセラレーションを考えれば、ここでの最適化よりも多くの実装を
先に取られるかと・・・<批判ではありません)

この発言の前に「今は、斜めには引けないラインと文字表示しかありません」
との書き込みがありましたけど、斜めに引けないラインを実行する事が
できるのでしょうか?(box利用を除いて)
Gapiモジュール内の xlineや Ylineを直接呼べればできそうですが・・・
(Lib_ レベルで公開されていたら嬉しいです)

> もしよろしければ、DIBや「Surfaceのような概念」、SDLなどがどのようなも
>のであるかご教授いただけないでしょうか。直接ご説明いただかなくても、説明
>があるURLなどを紹介していただければ充分です。・・・お話を伺っていると、
>かなり参考になりそうな雰囲気なので・・・。

DIBは デバイス独立ビットマップ(DeviceIndependentBitmap)と
呼ばれる物で、Windowsの GDIで利用されています。
Surface(DirectDrawSurface)は Windowsの DirectXで使用される物で、
画面そのものであったり、スプライト矩形であったり、3Dのための
テクスチャ領域であったりします。
どちらもビットマップとスクリーン(描画領域)として扱われます。
SDLは BeOSや Linuxや Windowsで互換性を見出すために開発されている
GameSDKです(画面描画以外の機能もあります)。
SDLと DirectXの API仕様や機能は非常に似通っていて(Surface概念等)、
SDLを参考にされれば多くのマルチメディア系プログラマーの福音と
なるのではと思われます。

さすがに DIBや DirectXの情報は世間に氾濫してますので
少し検索頂ければと思います(多過ぎて、どこがとは紹介しかねます)。
長文で構わなければ説明するのにやぶさかではありませんけど。
(川合さんの負担が減るのであれば、喜んで)

SDLについては資料も少ないのでこちらをご覧下さい。
http://www.ya.sakura.ne.jp/~logion/SDLintro/toc.html

* Surfaceの概念やフルスクリーン表示、フリップ等
DirectXや SDLで一般的に使用されている機能が OSASK上で
動く日を夢見ています(直接 OSカーネルに依存する部分ではありませんけど)