#include <stdlib.h>
#include <stdio.h>
#include "libps2.h"
#include "util_hash.h"
Include dependency graph for ps2util_surface.c:
Go to the source code of this file.
Defines | |
#define | HASH_SIZE 128 |
Hash size. | |
Functions | |
char | ps2util_obj_Init (void) |
void | ps2util_obj_Finish (void) |
OBJECT * | ps2util_obj_Create_fromXML (char *xml) |
3d object を生成する | |
void | ps2util_obj_Free (OBJECT *obj) |
3d object を撤去する | |
void | ps2util_obj_Set_effect (OBJECT *obj, unsigned effect) |
3d objectにエフェクトを指定する | |
void | ps2util_obj_Set_texture (OBJECT *obj, TEXTURE *tex) |
OBJECTにテクスチャTEXTUREを割り当てる | |
void | ps2util_obj_Renew_transMatrix (OBJECT *obj) |
OBJECTの座標変換行列を更新する | |
void | ps2util_obj_Draw (OBJECT *obj) |
OBJECTをスクリーンに描画する | |
Variables | |
Util_hash * | hash_handler |
Hash-Object handler. | |
FMATRIX | ps2util_unitMatrix |
3DオブジェクトOBJECT はread_xml_3d_file を用いて生成されるが、 read_xml_3d_file に同じファイルを2度読ませると、 2度ともメモリに展開してしまう。
そこで, 1度読み込んだOBJECTはハッシュに登録しておき、 2度同じファイルが指定されたら、ハッシュから参照してコピー/生成する。
Definition in file ps2util_surface.c.
|
Hash size.
Definition at line 21 of file ps2util_surface.c. |
|
3d object を生成する
ちなみに、ps2util_objの接頭辞が付いている関数はOBJECTを操作するための関数である。 Definition at line 58 of file ps2util_surface.c. |
|
OBJECTをスクリーンに描画する
Definition at line 165 of file ps2util_surface.c. |
|
Definition at line 50 of file ps2util_surface.c. |
|
3d object を撤去する
ただし、データを撤去する前にハッシュ・テーブルを参照して、 指定されたデータが他のOBJECTによって使われていないかどうかを調べて、 もし使われているなら消さない。完全に他のOBJECTに使われなくなった時点で メモリから撤去される。 Definition at line 93 of file ps2util_surface.c. |
|
Definition at line 34 of file ps2util_surface.c. |
|
OBJECTの座標変換行列を更新する
この関数はxyzとangleから座標変換行列を計算してOBJECTの 座標変換行列を表すメンバtransferにセットする。 つまりxyzとangleの数値を変更した後はこの関数で必ず座標変換行列を 更新しなければならない。 Definition at line 149 of file ps2util_surface.c. |
|
3d objectにエフェクトを指定する
ps2util_obj_Create_fromXMLやread_xml_3d_fileなどで生成された OBJECTの初期エフェクトは, グーロー・シェーディング、テクスチャ使用、 アルファ・ブレンディング「使用」 である。 例えばアルファ・ブレンディングを「不使用」、テクスチャを「不使用」で エフェクト設定する場合は、この関数を次のようにして記述する。
OBJECT* obj; エフェクト指定に用いるマクロは EFFECT_SHADING_FLAT,EFFECT_GOURAUD,EFFECT_TEXTURE_USE, EFFECT_TEXTURE_UNUSE,EFFECT_ALPHABLEND_USE,EFFECT_ALPHABLEND_UNUSE の6種類がある。 Definition at line 112 of file ps2util_surface.c. |
|
Definition at line 137 of file ps2util_surface.c. |
|
Hash-Object handler.
Definition at line 27 of file ps2util_surface.c. |
|
Initial value: {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}} Definition at line 28 of file ps2util_surface.c. |