PDA

View Full Version : Rice's HiRez Texturing plugin <Developement> (DO NOT POST HERE)



mudlord
January 31st, 2007, 03:53
Note: This is a unofficial build. It is not fully endorsed by Rice (the original developer of Rice Video), and so this shouldn't be classed as, in any way, as an official release.


Disclaimer:
The individuals responsible for these releases are not responsible for any damage at all occurred to you, your significant other, your pets OR your personal computer in the event that something might (and probably will) go wrong...Use these at entirely your own risk. These carry NO warranty, and are given as-is.

These terms are of high relevance to the development build, yet they also apply to all code/documentation released with this effort, too.

Remember: You don't have to use these if you don't want to, there is zero obligation...No one is stopping you not using these, it is entirely your choice...

--end standard disclaimers


Requested Features (feature requests removed when completely fufilled)

* Aspect ratio handling
* Anaglyph graphics rendering

To Do

Documentation:
- Add debugger section


Development Version:
- Complete aspect ratio stuff (eventually)
- Add aspect ratio handling for D3D renderer
- Fix framebuffers in DX9 renderer (render target/backbuffer copies)
- Finalise parsers for CFG file and HLSL effects

Source code: https://svn.bountysource.com/ricevideo/trunk
Downloads: https://ricevideo.bountysource.com/downloads
(Make sure to RTFM for changes and the FAQ)

Cyberman
February 1st, 2007, 21:08
First this thread will be HEAVILY moderated. Do NOT post problems with the plugin here. That is the DISCUSION thread. New Feature requests belong in discussion GO THERE instead, (first part of thread) any addition will be specifically about features implemented so it's in one place. Discussion is for bugs. I will move anything about a bug to the discussion thread, unless it's by mudlord. In simple terms do not post here unless you are a moderator or developer.


Anything about USING the plugin goes in discussion. This is entirely about developement and suggestions. These questions will be moved to discussion. The old thread is now the discussion thread.

Have fun (I've stickied this thread too).

Cyb

mudlord
February 2nd, 2007, 00:59
Thanks for that Cyberman. :)

I'm gonna take a look at the current situation with mingw, Code::Blocks and the source, to see how much Visual C++ dependant code there is. Hopefully, when Hacktarux, if he gets the chance, posts his source code to the Linux port, the process might be somewhat easier to accomplish.

Also, I had a much deeper look into Enzo Dragon's feature requests. I'm definately gonna see about the aspect ratio stuff, but it would be nice to know precisely what he wants to do (it seems to me like we have to play with viewports and scaling here....).

As for the custom shaders, I found a solution to one of the problems. Due to my ignorance, I forgot about the hardware T&L code, which has things that are needed for shader processing. That leaves working out what texture to process, and the technique code to do the shader passes...which shouldnt be that difficult.

For the hi-res stuff, that will be a ongoing thing, I guess, like with cooliscool's recent discoveries. :)

mudlord
February 8th, 2007, 00:12
I added the debugger plugin (for the devs around here...)

Note: There is a problem when dumping and loading hi-res textures. Through my testing, it seems that BMGLib is at fault here....

So, be careful guys (and gals)

mudlord
February 23rd, 2007, 02:04
Please note that development builds are not well tested. Therefore, they are consider like betas, if you will. Bugs might popup, so please be careful when you are using these builds which have bleeding-edge code.

mudlord
February 23rd, 2007, 02:06
In development.....

mudlord
February 23rd, 2007, 05:03
OK,

I am getting reports of people experiencing crashes whenever hi-res textures are loaded...This is quite serious.

I'll try to find where this problem cropped up.

Sirmatto
February 23rd, 2007, 15:49
In development.....

Very nice is this using OpenGL or DirectX rendering?

mudlord
February 24th, 2007, 00:16
It uses Direct3D9.

I intend though, to be able to use similar techniques in OpenGL those special effects...

By the way, just to let you know, I'm having difficulties still in porting the plugin to mingw/gcc, I was wondering how far your progress is in that...

mudlord
February 24th, 2007, 00:45
So far I started to track where the hi-res loading screws up...

I also started to consider the current requested features. Cyberman's suggestion of showing GFX card info will be in the next stable build. Its rather simple, I just used the same Win32 API C++ code as I did in my "gltest.exe" update for Hacktarux's wrapper, so adding it was a extremely simple task.

klasa's suggestions of increasing texture size are also taken on board, due to some info said by Rice relating to texture scaling in the past, which was very helpful in learning more about hi-res texturing practises (since I'm a noob when it comes to hi-res textures and hi-res texture creation). In addition, his idea on selecting precise control over what needs to be done seems pretty cool, so I'm thinking about that too...

What has also got me thinking is what people consider to be unique in a plugin. Some people might see hi-res texturing as unique, and also wireframe rendering. And also that the plugin is VERY configurable. One thing that has really impressed me though, was the use of custom rendering in Pete's OpenGL2 PSX plugin. Many people know of the work that guest(r), ShadX, and other shader coders have done, to make Pete's plugin one of a kind. In addition, many people in the past have seen work by the coder Orkin to be unique too, in regards to his cel-shading approach, via the use of code, and not textures...

Basically, what I am trying to say is, that this idea has also been taken into consideration too, since people seem to like nice graphics stuff...I beleive that disclosure of things isn't a bad thing (like what Jabo talked about in his presentation of his rendering of MK64's monitor), so here are some little more explicit examples of what is in development....

Sirmatto
February 24th, 2007, 22:05
It uses Direct3D9.

I intend though, to be able to use similar techniques in OpenGL those special effects...

By the way, just to let you know, I'm having difficulties still in porting the plugin to mingw/gcc, I was wondering how far your progress is in that...

I was able to get some some errors cleared, but some of the Microsoft specific stuff is a bit above me, which means we might have to wait until Hacktarux releases his next version of Mupen64 and (hopefully) in turn his source to Rice.

mudlord
February 26th, 2007, 06:25
Oh, alright :). That way, it also might be easier to backport to use mingw and Win32 API code. (that is, if Hacktarux is using SDL and GTK2 for his gcc linux port)

mudlord
February 28th, 2007, 08:26
ok, Enzo Dragon found a weird bug....gonna check that......:plain:

mudlord
March 3rd, 2007, 06:44
I did some testing with Enzo's bugs..

I couldnt find a issue with changing render engines, but he made a good point about the aspect ratio handling. For it to work in widescreen, its expected that widescreen resolutions are used. To play it safe, I'm gonna add some more checks to check whether fullscreen or not is used. Then, I apply the aspect ratio calculations on the different variables, based on whether its in fullscreen or not. Hopefully, DirectX 8/9 will get similar treatment too.

I'm also going to research ways to force aspect ratios, like Jabo's current work.....Also, I'm doing a fair bit more testing into the texture pack issues, when I get the chance. Several personal commitments like university are eating up my time currently, but with proper time management, you guys wont notice it :)...

However, VS2005 is being a bitch atm...which is annoying like with crashing etc when I try to add new DLG items in the resource editor, which makes it hard, I might get the new service pack for it, maybe the bugs in VS then be less annoying.

mudlord
March 6th, 2007, 03:43
I did some further research....

I'm considering, in order to help fix up the packaging sides of things, making a scripted installer. Thus, when my current D3D9 stuff is stable enough for public use, it can be used to package the normal D3D8/OGL plugin too...Also, I'm deeply considering porting the plugin to use INI files, that might help in reporting issues too.....

Anywayz, well I hope to fix up entirely that hi-res stuff, and then this can be something everyone can play with..

mudlord
March 26th, 2007, 03:21
Just another update..

College work has been my main priority these last couple of weeks, which explains the lull in activity done on this as of late (since I havent touched the source for a while). Next week, I will have time to continue sorting through and developing this, along with finally adding what people requested..I'm hoping to add stuff one bit at a time, since that will help tracking breaks.

Oh, and btw, the Rice Video subversion server is down atm...which is on the same server as the NRage subversion one.

Itll be back up when the NRage one is back up.

EDIT: Subversion server is back up

mudlord
April 9th, 2007, 01:53
No prob dude.

Okie dokie....

After a shitload of testing, hi-res tex loading is working! Now this is usable for the retexturers out there. (if for ever reason its STILL not working, I'll scream..Really...I did testing on all the packs I used and they all now work....)

mudlord
April 10th, 2007, 07:19
Zelda DX9 demo
Movie (H.264 encoded, 22MB)
http://rapidshare.com/files/25193690/zelda2.avi.html

mudlord
April 14th, 2007, 02:47
The crashing problems started with build 47, and its threading changes.

So, as consolation, versions before that particular build will work.
for that bowling bug, try this. it fixes dkr and zelda, so it could potentially fix your bugs.

mudlord
April 16th, 2007, 05:30
Just a notice, the updated builds might give some certain antivirus programs issues...The notices and errors that they raise are false positives..There is zero malicious code in the plugins and the source proves it. I most likely will do a big SVN commit, which is long overdue...

mudlord
April 30th, 2007, 05:02
A note on FSAA in the development plugin:
The source of this "bug" (can be a bug to some people), is due to hardware limitations of current PC video cards in DX9.

One of the methods used in Direct3D9, known as render targets, is a method to speed up and perform hardware accelerated render-to-texture operations. It is used currently in Direct64, as a means to perform hardware framebuffer emulation, as a practical example. Another possible use is the use of a render target to store a texture, for temporary use later. The development branch of my builds, uses render targets.

One of the weaknesses of this particular Direct3D method, is that full screen antialiasing will not work. This is, unfortunately, inherant by design of the method by MS engineers, and so this particular issue is unfixable, due to API limitations of how DX9 render targets can be used.

mudlord
May 9th, 2007, 07:04
A small update on current progress (for the people that want to know):

At the moment, I'm currently doing some very heavy updating on texture dumping/loading. Since thats one of the main goals of this plugin, it would be nice to see its current implementation improved a bit. Which is what I'm hoping to happen (and have started to massively overhaul). However, atm, its quite experimental as it can be a bit buggy...I intend tho to do a pub release of it when I'm happy with its stability and above all, it works right.

Also, I'm doing some more tweaks overall to the plugin, such as PNG screenshots, finally adding some degree of logging to the plugin (for bugs and things, and for tracing probs in tex loading and dumping, like klasa helpfully pointed out), and some more GUI work (since I know that there is still quite a few disrepancies...) . In addition (big thanks to Rice for his help over the past few days), I hope to completely fix up stability in general.

So thats basically that for the moment. I admit personally I've been a bit slack with actual time put into it atm (mainly due to some other real life projects, which have a much higher priority than this), but I think real life comes first before hobby things like this (the last thing I want to see is this turn into something I dread doing).

mudlord
May 13th, 2007, 04:16
New builds, go and get 'em ^_^

The next releases might be for a while tho......

EDIT: Must have been on something bad when adding XP manifests to regkeynuker.exe....uploaded is the real deal, saved myself 1.5KB without XP skinning support.....

Note: that file has PE tags, and I know the MD5, so don't anyone dare to plaigarise this....

mudlord
May 21st, 2007, 00:53
In development.

Don't ask me when it will be finished, it needs alpha testing first.

mudlord
May 22nd, 2007, 07:35
Alrighty, for me, the installer seems pretty rock solid.

It uses the Nullsoft Install System (http://nsis.sourceforge.net), but it has been heavily scripted to allow for custom messages, and custom banner images. Actual NSI file size is around 4KB, and EXE overhead is only up to 34KB :).

Not bad hey?

Also, the installer uses LZMA compression in solid mode, which helps for compressing the DLLs which are similar in structure. Since I've been hearing no reports of people complaining about download size, I might do the installer as a AIO, same with a seperate 7z for the advanced users......

mudlord
May 29th, 2007, 02:12
Due to a server harddrive problem, the SVN server is down.
Hence, I uploaded the sources in the 1st page of here. There's my update 9 sources, as well as the source to my installer.

Enjoy!

mudlord
May 29th, 2007, 08:41
Updated packages.
Uses new installer system

Enjoy the newly compiled installer everyone =^.^=

mudlord
June 3rd, 2007, 17:08
Just a teensy update. Dev. time for me has slowed down a bit (mid-year exam period), so the next 3-4 weeks might be a bit sluggish. Hopefully next uni semester, things on this will pick up.

As for the new tings, well, I got to complete the rewrite of the config system and see how that goes...

EDIT: Grammar

mudlord
June 9th, 2007, 09:30
Another update.

Installer has been updated a little.

- Removed CRC check (now people can translate it)
- Updated so it ALWAYS overwrites files that are copied, in case you get a corrupted INI and need to reinstall
- Fixed up some text

Not much than that I'm afraid. Had a moderate setback involving a reformat, luckily I had my code backed up onto DVD at the time (but its not the newest code :(). Had a crash involving SPTD and newest Alcohol. So I had to format, due to reoccuring BSODs linked to the SPTD driver component, and revert to a older version until DS updates SPTD...

That said, enjoy this shot with PD having correct framebuffer emulation for cloaking....Don't have much time to do more work on this, exam season.

mudlord
June 13th, 2007, 13:52
updated plugin, nuff said!

mudlord
June 15th, 2007, 00:50
another update....:matrix:

mudlord
July 4th, 2007, 14:13
Well,

after a lot of hacking and trial & error, I finally managed to get Rice Video to compile under the following compilers:

* Intel C/C++ Compiler 9.0
* Microsoft Visual C++ 6
* Microsoft Visual C++ 6 with the Processor Pack

These builds don't require extra dependances apart from DirectX/OGL (so that means missing C/C+ runtime issues are moot). I have attached the following test build.

Please note this is not a proper build of mine, just a test one, so it shouldn't be mirrored or advertised in any form.

Thankyou.

mudlord
July 6th, 2007, 06:15
I now updated my VC6 projects/makefiles (which is the source).

Any VC6 devs, feel free to use the code now. It should work okay.

mudlord
July 8th, 2007, 05:21
Updated, most changes are in the stable branch plugin.

If you want to try the plugin on Windows Vista, its best you use the stable branch plugin. Please note the support is preliminary and not complete. I couldnt't get out the new config system due to some remaining bugs, same goes for the shader support. These will most likely come with the next round of builds, which there is zero ETA on.

mudlord
July 17th, 2007, 11:33
Just a little update..

So far I am intending a small update in the next week or so. Mainly, this hopes to fix up all the little things before I add in the big things I want to do.

So far, I managed to make significant size minimizations, without using packers or using compiler optimizations, which can break things. This means now that the development plugin is now a much more lean 840KB, and the stable (recommended) one is now around 1.05MB. Also, users of MK64 will be happy to know I fixed the viewing/triangle issues with it, so that leaves the minor texture alignment problems and framebuffer emulation....I'm intending in the meantime to finally go over some minor things before doing some heavy work on it.

Ciao.

mudlord
July 29th, 2007, 16:21
Another day, another RC, more like a minor update to a RC.

Well, main thing is now I fixed the debugger plugin to now load hi-res textures properly and without glitching. See the following screenshots as photographic evidence.

mudlord
August 4th, 2007, 14:59
Finally got a mirror upload on my own webserver:

http://athene.csu.edu.au/~bmille16/files/RiceVideoSetup.exe

Go easy on it. :king:

mudlord
August 6th, 2007, 23:08
New SVN server:

https://svn.bountysource.com/ricevideo/trunk

there, enjoy.:plain:

mudlord
August 7th, 2007, 06:31
New BountySource project page.

https://ricevideo.bountysource.com/

mudlord
August 7th, 2007, 13:10
Just writing to give some bad news...

Due to my 160GB harddrive completely f*cking up and in need of replacement,. development has halted for at least two weeks until I can afford to buy a new one.

I apologise for the extreme inconveniance. Luckily, all my recent code is on the new SVN server, so thats one thing to be thankful for......:(

mudlord
August 10th, 2007, 11:19
New release, since the release candidates were quite stable.

Update 10 (Final):
Changes (some changes also apply to stable branch plugin)

Updated: Heavy GUI updates and tweaks, this includes removing the FB selection, for now..
Updated: Optimized file size, with no ill effects. This also holds true for the stable branch plugin, too.
Updated: Heavy refactorisation
Updated: Optimized installer size
Updated: Documentation
Updated: Direct3D screenshots are compressed in PNG (uses internal PNG compression routines)
Updated: Tagging on development plugin
Updated: Documentation (refactorisation)
Updated: Texture loading/dumping can now be enabled when "hide advanced options" is ticked (by request)
Updated: Updated INI configuration file (thanks to Iconoclast)
Updated: Hardware transformation and lighting is now a core requirement
New: A custom installer system based on NSIS
Debugger: Heavily updated and overhauled the debugger plugin. Involves major core restructuring, GUI updates, a massive reduction in file size, and now manages hi-res textures properly again. Also, no longer requires the Visual C++ 2005 runtimes as well. Enjoy!
Source: Updated to now compile with VC6 (VC6, ICC and the Processor Pack) . This means that builds compiled with this compiler no longer need additional runtimes apart from the DirectX/D3DX runtimes. However. SSE optimizations are unusable when this process of compilation is done.
Removed: Framebuffer selection (framebuffer emulation is incomplete)
Removed: Antialiasing/multisampling (doesnt work due to hardware limitations)
Removed: Software transformation and lighting
Removed: registry key cleaner (needs to be rewritten)

Also, theres a new download location for releases:
https://ricevideo.bountysource.com/
Source code is at: https://svn.bountysource.com/ricevideo/trunk/

Please note the "final" marking does not mean that development on these builds have ceased. I decided that the release candidates were going on long enough to warrant a new release.

Ciao. :plain:

mudlord
August 13th, 2007, 00:52
In other news, dtm has ported the plugin to MacOS and there will be work underway to continue work on the Linux port to update it too.

In addition, my new reg key nuker is up on the BountySource page.

mudlord
August 26th, 2007, 17:08
As a service to those that for some reason cannot access the BountySource project page to get the files OR are on restricted systems with limited system rights, I had uploaded the Rice Video files here:

http://athene.csu.edu.au/~bmille16/files/RiceVideoArchive.rar

mudlord
August 29th, 2007, 02:37
Okay, here’s a new release.

Okay, to elaborate on the releasing details.

I figured now, due to the updates, I think the new release warrants a new version number. This is because I beleive these builds I do are now release-grade and for public use, mainly due to me removing the last few of the bugs that where inherant to my builds. Now, graphics emulation quality is on par to Rice’s last final update, with the addition of the new features I added which are:

* Removed the requirement for BMGLib.
* Has a new registry key deleter
* Has a new installer
* Has a fully complete documentation and I did a lot of tweaking to the source.

So I figured I do a 6.1.2 release, just like how rabiddiety has picked up on NRage’s plugin.

Now then, the updates in this new release are:

Fixed: near Z errors in SM64, MK64
Fixed: many other small graphics bugs I forgotten.
Essentially, graphics quality is now the same as the official plugin, like it should be, so I recommend this plugin now over the official one. Which is why I bumped the version number up to 6.1.2, because I beleive all the new fixes warrant a new release.
Updated: Registry key remover tool
Updated: Documentation
Updated: SSE optimizations are back

I had other motivations for this new release, mainly due to my real life time starting to catch up to me. I’m starting to again head face-on with University life, so I figured I release this now, so the public don’t have to wait for a month till things for me in my personal world settle down.

So, in conclusion, again this release is unofficial and NOT endorsed by the official dev. That said, I hope you all find this useful in some form.

Ciao for now.

Link is at the usual spot.

mudlord
July 7th, 2008, 02:00
After a long haitus, here is the new Rice Video SVN page:
http://code.google.com/p/ricevideo/

Source code will be uploaded shortly, and I aim to get back into development again. Long story short, university has been busy, plus I now work on a GBA emulator project, as well as my own NES emulator, written purely for the sake of speed, not accuracy.
A dedicated forum for Rice Video stuff is also here:
http://vba-m.ngemu.com/forum/rice-video-f-51.html