mksprite.htm
3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<HTML>
<HEAD>
<TITLE>HTML 文書</TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0j">
</HEAD>
<BODY>
<P>
<B>mksprite(1P) <BR>
</B>
<P>
<B>関数名<BR>
</B>
<P>
mksprite , mksprite32, mkisprite
<P>
→ .rgb画像ファイルをCスプライトデータ構造体へのファイルにコンバータする
<BR>
<P>
<B>構文<BR>
</B>
<P>
mksprite spname img.rgb tx ty overlap > ../sp_spname.h
<P>
mksprite32 spname img.rgb tx ty overlap > ../sp_spname.h
<P>
mkisprite spname img.rgb tx ty overlap > ../sp_spname.h
<BR>
<P>
<B>説明<BR>
</B>
<P>
プログラムの<B>mksprite系列</B>のプログラムが、大きいイメージを小さいタイルにコンバートします。小さいタイルは、TMEMの中に個々にロードされ、スプライト関数ライブラリ(参照<A HREF="../sp/spIntro.htm" >sp</A>(3P))を使用し、タイルを互いに並べるようにして描かせることができます。現在、完全に機能の果たせる下記の2つのtexelタイプがサポートされています。
<BR>
<P>
:32ビット RGBA (使用 <B>mksprite32</B>)
<P>
:16ビット RGBA(5 : 5 : 5 : 1)(使用 <B>mksprite</B>)<BR>
<P>
また、小さいイメージサイズ(1つのタイル)をサポートをしているのは<B>mkisprite</B>で、8ビットのカラーインデックス(
CI )モードとなります。他のtexelタイプのためのサポートも加えられましたが、これらのコマンドはちょうどcshスクリプトがあるので、カスタマイズは比較的易しいでしょう。
<BR>
<P>
現在のアプリケーションの構造は、スプライトテクスチャが"Texture"というサブディレクトリに格納されると仮定します。これらの<B>mksprite系列</B>のコマンド群は、このサブディレクトリで実行されると仮定した場合、それらの出力ファイル"../sp_basename.h"は、アプリケーションディレクトリにあります。
<BR>
<P>
コマンドラインオプションは以下の通りです。 <BR>
<P>
<B>spname</B>
<P>
すべての制作ファイルと,宣言された構造体、そして配列はこの名称を基本と
して一緒に接頭部とされます。これはスプライト構成要素名とは別にしておきましょう。
<P>
<B>img.rgb </B>
<P>
SGIフォーマットイメージファイルです。このイメージファイルは、スプライトを描かせる時に、元となるテクスチャとなります。もしこれが4チャンネルの(RGBA)イメージであるなら、その時指定されたアルファ値が使用されますが、指定がなければイメージの中でアルファ値=1.0と見なされます。
<P>
<B>tx</B>
<P>
基準となるタイル幅です。これはテクセルのオーバーラップを含みません。たとえ重複していても、水平方向に隣接したタイルを持っているだけです。同様に、タイルの右端の列はより小さい幅になるかもしれません。
<P>
<B>ty</B>
<P>
基準となるタイルの高さです。これはテクセルのオーバーラップを含みません。たとえ重複していても、垂直方向に隣接したタイルを持っているだけです。同じく、タイルの最低部の列は、より小さい高さになるかもしれない。
<P>
<B>overlap</B>
<P>
このパラメータは,右と、それぞれのタイルの底にいくつまで重複させるか指定します。スプライトは、SP_FASTCOPYモードで使われるのなら値として0(オーバーラップしない)を使えば十分でしょう。スプライトの大きさを変えるような調整を行うか、あるいは少しでも移動させる場合、このoverlap値を1と設定すれば、ある1つのタイルとその隣のタイルのつなぎ目が見えるということは無くなります。
<P>
<B>../sp_spname.h </B>
<P>
これは生成されたスプライト構造体のために推薦されたファイル名です。
<BR>
<P>
<B>参照<BR>
</B>
<P>
<A HREF="rgb2c.htm" >rgb2c</A>(1P) , <A HREF="../sp/spIntro.htm" >sp</A>(3P)
<BR>
</BODY>
</HTML>