| 1 | /* |
| 2 | * GlideHQ (Texture enhancer library for Glide64) |
| 3 | * Version: 1.5 |
| 4 | * |
| 5 | * Copyright (C) 2007 Hiroshi Morii aka KoolSmoky All Rights Reserved. |
| 6 | * Email koolsmoky(at)users.sourceforge.net |
| 7 | * Web http://www.3dfxzone.it/koolsmoky |
| 8 | * |
| 9 | * this is free software; you can redistribute it and/or modify |
| 10 | * it under the terms of the GNU General Public License as published by |
| 11 | * the Free Software Foundation; either version 2, or (at your option) |
| 12 | * any later version. |
| 13 | * |
| 14 | * this is distributed in the hope that it will be useful, |
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 17 | * GNU General Public License for more details. |
| 18 | * |
| 19 | * You should have received a copy of the GNU General Public License |
| 20 | * along with GNU Make; see the file COPYING. If not, write to |
| 21 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. |
| 22 | */ |
| 23 | |
| 24 | About: |
| 25 | This is a realtime texture enhancer library with hi-resolution texture |
| 26 | pack support for Glide64 (http://glide64.emuxhaven.net). Traditional and |
| 27 | non-traditional techniques have been used to achieve speed and high image |
| 28 | quality even on a 9 year old 3Dfx Voodoo2. |
| 29 | |
| 30 | Although the 3Dfx Glide3x texture format naming conventions are used, the |
| 31 | library can be expanded for generic use. |
| 32 | |
| 33 | Supported: |
| 34 | OS: 32bit Linux and MS Windows |
| 35 | Enhancers: Hq4x, Hq2x, Hq2xS, Lq2x, Lq2xS, Super2xSai, x2 |
| 36 | Filters: Smooth (1,2,3,4), Sharp (1,2) |
| 37 | Compressors: FXT1, S3TC |
| 38 | Input formats: GR_TEXFMT_ALPHA_8, |
| 39 | GR_TEXFMT_RGB_565, |
| 40 | GR_TEXFMT_ARGB_1555, |
| 41 | GR_TEXFMT_ARGB_4444, |
| 42 | GR_TEXFMT_ARGB_8888, |
| 43 | GR_TEXFMT_ALPHA_INTENSITY_44, |
| 44 | GR_TEXFMT_ALPHA_INTENSITY_88 |
| 45 | Output formats: Same as input unless compression or hires packs are used. |
| 46 | Hires texture packs: Rice format (Jabo and GlideHQ format coming later) |
| 47 | |
| 48 | Acknowledgments: |
| 49 | I hope you enjoy GlideHQ (texture enhancer library for Glide64). Greatest |
| 50 | thanks to Gonetz for making this happen in his busy time. We've rushed |
| 51 | everything to share the eye-candy with all of you N64 emulation fans. I |
| 52 | would also like to thank a great friend of mine, Daniel Borca for providing |
| 53 | the texture compression code, Maxim Stepin (hq2x 4x), and Derek Liauw Kie Fa |
| 54 | (2xSaI) for the filtering engines, Rice for his N64 graphics plugin source |
| 55 | code, and Mudlord for the hq2xS lq2xS code. GlideHQ also uses the boost C++ |
| 56 | libraries, zlib general purpose compression library, and the Portable Network |
| 57 | Graphics library. Thanks to all the developers for making them available. And |
| 58 | special thanks to the Glide64 beta testing crew. Without their feedbacks |
| 59 | this library would not have seen daylight. Thank you all. |
| 60 | |
| 61 | The source code for GlideHQ is released in hopes that it will be improved. |
| 62 | I know the coding is not on par after so much late night caffeine boosts. |
| 63 | If you have suggestions or modifications, please feel free to post them on |
| 64 | the Glide64 forum at emuxhaven. |
| 65 | |
| 66 | Porting the library to other platforms should not be so hard. The coding is |
| 67 | done with cross platform compatibility in mind and will build with GCC and |
| 68 | GNU make. Currently supported are 32bit Linux and MS Windows. |
| 69 | |
| 70 | If you are looking for driver updates for your 3Dfx Interactive Inc. gfx |
| 71 | card, grab them from the forums at http://www.3dfxzone.it/enboard/ |
| 72 | Unbelievable as it seems, drivers are still being updated after 6 years |
| 73 | from 3Dfx's demise. |
| 74 | |
| 75 | I know N64 rules, anyone up for PSX? :)) |
| 76 | |
| 77 | -KoolSmoky |
| 78 | |
| 79 | References: |
| 80 | [1] R.W. Floyd & L. Steinberg, An adaptive algorithm for spatial grey scale, |
| 81 | Proceedings of the Society of Information Display 17, pp75-77, 1976 |
| 82 | [2] Ken Turkowski, Filters for Common Resampling Tasks, Apple Computer 1990 |
| 83 | http://www.worldserver.com/turk/computergraphics/ResamplingFilters.pdf |
| 84 | [3] Don P. Mitchell and Arun N. Netravali, Reconstruction Filters in Computer |
| 85 | Graphics, SIGGRAPH '88, Proceedings of the 15th annual conference on |
| 86 | Computer graphics and interactive techniques, pp221-228, 1988 |
| 87 | [4] J. F. Kaiser and W. A. Reed, Data smoothing using low-pass digital |
| 88 | filters, Rev. Sci. instrum. 48 (11), pp1447-1457, 1977 |
| 89 | [5] Maxim Stepin, hq4x Magnification Filter, http://www.hiend3d.com/hq4x.html |
| 90 | [6] Derek Liauw Kie Fa, 2xSaI, http://elektron.its.tudelft.nl/~dalikifa |
| 91 | [7] Dirk Stevens, Eagle engine http://www.retrofx.com/rfxtech.html |
| 92 | [8] 3DFX_texture_compression_FXT1 and EXT_texture_compression_s3tc extension |
| 93 | specs from the OpenGL Extension Registry. http://oss.sgi.com/projects/ |
| 94 | ogl-sample/registry/ |