annotate Renderer/Engine/TextureHash.h @ 1047:6a80ca9a65d9

broken texure ( h/w != 2^n ) protection
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 08 Dec 2010 05:38:45 +0900
parents 735f76483bb2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
1 #ifndef INCLUDED_TEXTURE_HASH
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
2 #define INCLUDED_TEXTURE_HASH
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
3
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
4 const int TABLE_SIZE = 8192;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
5
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
6 struct hashtable{
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
7 int tx_id;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
8 char* key;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
9 };
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
10
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
11 class TextureHash {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
12 public:
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
13 hashtable *table;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
14
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
15 TextureHash(void);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
16 ~TextureHash(void);
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
17 int hash_function(const char* image_name);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
18 int hash_regist(const char* image_name, int &tx_id);
1047
6a80ca9a65d9 broken texure ( h/w != 2^n ) protection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 507
diff changeset
19 void remove(int id) { table[id].tx_id = -1; }
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
20 };
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
21
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
22 #endif