gonetz / GLideN64

A new generation, open-source graphics plugin for N64 emulators.
Other
774 stars 180 forks source link

Feature requrst - Tessellation+stereoscopic mode #1319

Open ghost opened 7 years ago

gonetz commented 7 years ago

please provide description, what you expect from these features.

fzurita commented 7 years ago

For Tessellation , I would imagine allowing the emulator to use Tessellation textures to introduce additional polygon detail to games. It would be like texture packs that enhance polygon detail. This is a tutorial on tessellation with OpenGL in case anyone ends up picking up this task: http://ogldev.atspace.co.uk/www/tutorial30/tutorial30.html

Stereoscopic mode I would imagine means repeating the same image twice side by side to allow the plugin to be used with VR headsets. Here is how dolphin decided to implementation their 3d stereoscopic mode: https://dolphin-emu.org/blog/2015/05/13/a-second-perspective/

They ended up using a geometry shader to render everything twice at two different perspectives.

ghost commented 7 years ago

👍

ghost commented 7 years ago

Point normal tessellation is an abysmal idea. For it to work properly, it has to be done per game, and with hints per model. Generic tessellation NEVER works.

fzurita commented 7 years ago

I agree with that. It would have to be done in a similar fashion to texture packs.

MatthewHunter1983 commented 6 years ago

hi! I second the request for stereoscopic 3d PLEASE :D I love gliden64 yet never get to use it because I am a HUGE fan of 3dtv and I have to play everything in 3d because it's fun as hell.

and yes dolphin is a great example because contrary to popular opinion, stereo 3d can actually be done with openGL, too.

can we please share/discuss effective ways of getting 3d in n64 emulation? until it is added

the only way I have figured out how is to use this obsolete middleware: iZ3DDriverSetup_1_13(5443) (good luck finding it). and it only works in windows 7, and it only works with the old directx 8 jabo plugins (1.6 and 1.7 only). the result is pretty perfect but those plugins are old and riddled with glitches, and that method of injecting 3d adds yet more glitches in the case of project64 (black background in OoT start screen, rendering the sky with no depth in OoT and starfox64, and improper alpha or something weird in games like quest 64--to list a few). otherwise it's a pretty awesome 3d experience but it could be waaay better.

also I was told on the project64 git forums that the jabo plugins would likely never be updated to add stereoscopy because something about not being open sourced iirc. they actually told me to request that feature here. so here I am! carefully scanned through all 3 pages of results for "3d" to find the appropriate place to post

any more ideas? I was thinking maybe use ReShade on the glide64 plugin to convert it to directx 9 or 11 but I don't know how if someone could ELIF in a few steps, or maybe some other opengl to directx wrapper like gldirect that works with newer opengl versions? or just add stereoscopy to glide64 in the plugin itself that would be awesome (you could have it disabled by default like dolphin with warning messages and have an on screen 'go 2d' message with 'x' key for 5 seconds in case someone activates it by mistake, so as not to confuse novice users) plz and ty <3 :)

MatthewHunter1983 commented 6 years ago

tessellation sounds like a cool idea but I could see that totally distorting some models with no good result. however, I know from animation that making a subtle bump map from the texture itself can have a decent effect. problem is not all models have textures. maybe if we could select pieces of textured geometry to apply it to with a value for intensity. or edit the geometry itself in some easy way (similar to the 3dnes emulator where you can pause the game and permanently edit the depth and shapes of the 3d layers). but now that I think of it you might have to alter the geometry of deflectors too or else Mario would be running through spikes of tessellation on the original invisible map.

just an idea hope that doesn't detract from the request for stereoscopy, please do that first :) (for a 3dtv format, not VR. or just both since it would probably be the same method of injection--see my post above)

fzurita commented 6 years ago

There was an initial attempt at adding 3D support here. It only works in Android right now though:

https://github.com/gonetz/GLideN64/pull/1552

MatthewHunter1983 commented 6 years ago

sooo cool! guess I could try on my android since it has hdmi output. but it's VR format? what is the most recent version that had 3d support?

I just want side by side or interlaced for 3dtv. this feature in windows version would be so amazing

fzurita commented 6 years ago

Yeah, it's VR but it could easily be adapted to SBS 3D.