ogl readme 1 67, plugins

[ Pobierz całość w formacie PDF ]
Pete's OpenGL driver for PSX emus----------------------------------Some words from the first release in 1999:During development of PSSwitch I used some of the public PSEPro pluginsources to look how PSEPro communicates with the different plugins(especially the GPU drivers). After Version 1.0.12 of PSSwitchI wanted to write my own GPU, mainly because I was curious how theGPUs are working but also because the only real good GPU plugin(Lewpys Glide) could only be used by the owners of 3DFX cards.So I started to improve Duddie's SoftGPU, fixed some bugs and learned...until I noticed, that some important GPU parts were just missing andnot even mentioned in the sources.I cried for help... and Lewpy jumped in... he gave me theinformations I needed most, so my GPU could grow again... and it wasslowing down speedwise.I had to make a decision: doing some high optimization stuff (but that'smostly a boring and very time-consuming job) or trying to use some kindof hardware acceleration (hey, that one sounds nice). OK, the decisionwas an easy one: "acceleration" should do the work, now-a-days video cardsare "intelligent", so why don't use it? But what kind of interface should Iuse? Direct3D ? My aging MSVC 5.0 compiler just supported DirectX 3, thedownload of the DirectX 6 SDK from the internet would be >70MByte (and Ihave a slow connection to the net). And "NoComp" seemed to be workingon a Direct3D GPU. Well, and Segu wasn't lazy, too...So I looked at the OpenGL API and it seemed to fit... and there were no"real" OpenGL GPUs for PSEPro, all, even the one from Kazz, were just partialimplementations.I borrowed an OpenGL book from a friend (hi Gamma!) and got to work.Now I spent some weekends and evenings for getting it to work and aftersome ups and downs (in one of these downs I downloaded the DirectX 6.1SDK and didn't want to do something with OpenGL at all in the future)I feel it is ready to hit the public.Enjoy!----------------------------------------------------------------------------Requirements:OpenGL... in Windows there should be a file called "opengl32.dll" in yourWindows\System directory. That's the one I am using. If your video cardsupports OpenGL, the "opengl32.dll" will just be a mapper for the fastervideo driver functions, you don't have to install anything else.If you have a 3DFX add-on card (I have a Riva TNT/GeForce and a Voodoo II/III,so I could test both) and you want to use OpenGL with it, you should place the3DFX "opengl32.dll" from the 3DFX OpenGL SDK in your PSEmu Pro directory, don'toverwrite the original Microsoft dll in your System directory! You can getthat SDK from the 3DFX server (www.3dfx.com), just search for "OpenGL SDK".Hint: Rename the "3dfxopengl.dll" into "opengl32.dll".Don't use a MiniGL driver for Quoke (had to rename that game from ID becauseI am a really dumb german grown-up and can not make a difference between thescreen and the reality, greetings to the german BPS) or alike, the right DLLshould be > 600 KByte (MiniGL IS NOT OpenGL).If your video card has no OpenGL support, software emulation will be donefrom the Microsoft OpenGL32.dll, but that one is ssssslllloooooowwww.You can also give a "OpenGL to DirectX" mapper a try, there is one atwww.altsoftware.com, just copy that "opengl32.dll" in your main emu directory.If you own a nVidia card, be sure to have installed the latest drivers(Detonator build), they are much faster than earlier versions.And, of course, try my D3D plugins, if your card is having OGL troubles :)----------------------------------------------------------------------------Configuration:Take yourself some time to test different settings (especially texture modes),because it seems every video card company has its own opinion what's importantto speed up in OpenGL. Here is the list of the available settings and theirbaddies and gooddies...1) Desktop resolution---------------------You can change the color depth and resolution of your desktop dynamically byturning on "Change Desktop setting". Every time the GPU will be startedit will change the desktop to the chosen settings, after quitting PSE youroriginal Desktop will be restored. If your OpenGL driver doesn`tsupport this feature (for example: older 3DFX OpenGL drivers) turn it off undjust select a proper resolution that fits your actual Desktop size, the colordepth will also be taken from your current desktop setting (3DFX: will be ever16Bit colors, even if you have a Voodoo III...).If your card supports OpenGL in window mode, you can give it a try. I preferto play my games in fullscreen, but to do the coding in window mode :)The "keep psx aspect ratio" will insure, that the x/y ratios will be the same ason the real psx... use it, if you like it.2) Texture handling-------------------To optimize the texture storage, the plugin has to know the size of yourgfx card vram. You can try to let the plugin auto-detect the availablevram memory, or you can enter the right amount yourself (recommendedon all non-nVidia cards).To help the gfx card in certain situations, you can enable "Texture garbagecollection". That option will need additional cpu power, though.Last but not least there is an option called "Faster palettized texture windows".That one will boost up performance in games which are using a bigamount of that special psx texture type (for example Ghost In A Shell), butyour gfx card has to support palettized textures (all GeForce cards can do themwith newer drivers, while TNT cards cannot do them at all... also ATI usersshould try to turn it off, if problems arise).If you have a lotta vram (64 MByte or higher), you can also try the"Hi-Res texture (2xSaI)" option. That one will use the superb 2xSaI algorithmtexture quality. For more informations check out the version notes from10. July, 2002.3) Texture quality-------------------Please see the 'version.txt' entry '1.May 1999' for details...* 'don't care' is how the versions minor 1.9 of my GPU were working, soselecting it means no gain and no loss... just to be sure. And of courseit is the best solution for 3DFX OpenGL drivers at the time I am typingthis text...* 'R4 G4 B4 A4': Every color info has 4 bits, so texture colors are not asfine, but speed is better with newer cards* 'R5 G5 B5 A1': texture colors are getting better, but the 'Alpha Multipass'mode can't be done with just one alpha bit. Many games don't need AM(Spyro, Tekken) so you can select this mode for better colors. This modeis as fast as R4G4B4A4.* 'R8 G8 B8 A8': Best colors your PC can offer, at the cost of speed. If gamespeed is OK with that mode on your PC, use it!4) Bilinear filtering---------------------Give it a try... the real PSX doesn't support BF, so there will be someglitches if you turn BF on. Several games will look nicer... there aretwo filtering modes... the Extended mode is slightly slower, but evenbetter with most games.If you want you can also try both filtering modes without spritefiltering. Some game text will be much better readable, but somegames will look weird if everything but sprites are smoothed...Or try the new "filtering with sprite smoothing"... that one is givingnice results most times :)5) Framerate limit/Frame skipping---------------------------------You can activate FPS limitation if your game is running to fast. You canuse "Auto detect FPS limit", if you are not sure, what limit would be bestto use or just type in a FPS rate. PAL games use 50 FPS, non-PALgames 60 FPS.And if things are getting too slow... you can try Frame skipping.Tip: you can also try to turn on both... if your cdrom is a bit slow readingpsx games, some jumps will happen, sorry.You can also enable the in-game menu right from the game start(showing the fps and let you change some gpu options while playing).Of course you still can use the "DEL" key for showing/hiding the menu.Btw, all gpu hotkeys are described below. If you want to change the keys,you can use the small "..." button.6) Offscreen Drawing---------------------There are now (1.48 or newer) 5 different OD modes... OD is usedto detect drawings which are outside the front/backbuffer, doing suchstuff in software (or by tweaking polygon coords).0 (none): fastest mode, glitches in splash screens/game gfx can happen1 (minimum): takes care of most splash screens2 (standard): does an easy check, if software drawing/coord tweaking is needed3 (enhanced): does a more complicated check for soft drawing4 (extended): does the "enhanced" check, and adds some additional bufferswap (can cause flickering with some games)7) Framebuffer texture----------------------To get whirling screen effects and psx motion blurring, there are two waysto go:a) set framebuffer textures to emulated vram, enable full vram primitives(framebuffer access option) and offscreen drawingor b) disable full vram primitives and set framebuffer textures to'gfx card buffer' orc) use 'gfx card buffer & software'.(a) will work on every system, but it will be very slow. (b) will prollywork only with certain gfx cards with a good speed (GeForce :)...(c) is kinda a compromise: there will be little gfx card accessing (good forslower gfx cards), and more software drawing instead (which will need somecpu power).btw, some games will work better/faster with (b), others may need (c) instead.You have to try that for yourself :)Well, ppl with slower cpus and/or gfx cards can use "black framebuffertextures", this option will be very fast, but, of course, the special effectwill not appe... [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • anio102.xlx.pl