• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 25 26 27 28 29 ... 115 Next »

Custom/Hires 3d models - Anyone interested?
View New Posts | View Today's Posts

Poll: What do you think?
This poll is closed.
Yes, I would make use of custom models
71.43%
25 71.43%
Yes, I would create custom model packs
22.86%
8 22.86%
Yes, I would hack the Dolphin source to support custom model packs
5.71%
2 5.71%
No, this idea is stupid (please explain why!)
0%
0 0%
I have no idea what this is even about
0%
0 0%
Total 35 vote(s) 100%
* You voted for this item. [Show Results]

Pages (2): 1 2 Next »
Thread Closed 
Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Custom/Hires 3d models - Anyone interested?
12-11-2012, 07:04 AM
#1
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
Hey everyone,

so... I've had this idea for ages, but someone poking me via email today brought it up to my mind again.

You might have seen the "Cache Display Lists" setting in Dolphin's graphics configuration. To dumb it down, DL Caching looks at each group of vertices that is drawn by the game and assings a (theoretically) unique ID to it. This group of vertices then is decoded and saved somewhere, so that when the game draws this group of vertices again we can just lookup the decoded data from its ID.
The motivation for the DL cache of course is to increase performance by not having to redundantly decode vertex data. However, a different application would be loading custom models. I.e. instead of decoding the vertex data and rendering it, we can just look up custom 3d geometry (e.g. with more vertices and/or special effects) from the unique ID and render that one. It's not really that simple in reality, but it should definitely be possible.

The question I have here - how interested would anyone be in such a feature? I've set up a poll for everyone to agree/disagree. There are three "yes" answers: one for users who would like to use "hires model packs" to make their games look pretty, one for artists who would actually be willing to do the work of creating custom models, one for devs who would be interested in implementing something like this (it's not a particular easy task, but if you're willing to put in the effort I'll surely give you hints wherever I can).

Looking forward to your opinions Wink
My blog
Me on Twitter
My wishlist on Amazon.de
Find
12-11-2012, 07:10 AM
#2
ExtremeDude2 Offline
Gotta post fast
*******
Posts: 9,242
Threads: 273
Joined: Dec 2010
I'd use it Big Grin, but I have no idea if anyone would want to make any XD
Check out my videos (dead)
[Image: sig-22354.png]
Website Find
12-11-2012, 07:27 AM
#3
DefenderX Offline
The comedy never ends.
*******
Posts: 4,617
Threads: 186
Joined: Dec 2011
Nice idea Big Grin I already use hi-res custom textures in some games ^^
[Image: IEZtsj]
[Image: 8fhx2zum.gif]
Website Find
12-11-2012, 08:04 AM
#4
AnyOldName3 Offline
First Random post over 9000
*******
Posts: 3,507
Threads: 1
Joined: Feb 2012
Whether or not I'd make any custom models would of course be dependant on what format(s) they could be in, whether I'd have to make specific textures and UV maps, how easy it would be to dump existing models etc, so basically, how helpful I am depends on how well the Devs do this.
OS: Windows 10 64 bit Professional
CPU: AMD Ryzen 5900X
RAM: 16GB
GPU: Radeon Vega 56
Find
12-11-2012, 08:22 AM (This post was last modified: 12-11-2012, 08:22 AM by Garteal.)
#5
Garteal Offline
「Lab Mem. 004」
********
Global Moderators
Posts: 2,095
Threads: 24
Joined: Aug 2011
Great idea neobrain.

This will open a new world for modders.
As the real Oldname said, it would be nice to hear which formats you'll support for the models and such.

I'd love to hack it in, but I'm pretty sure I'm not experienced enough for this type of thing. I'll definitely follow development and will gladly test things.
Find
12-11-2012, 08:26 AM (This post was last modified: 12-11-2012, 08:38 AM by neobrain.)
#6
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
(12-11-2012, 08:04 AM)AnyOldName3 Wrote: Whether or not I'd make any custom models would of course be dependant on what format(s) they could be in, whether I'd have to make specific textures and UV maps, how easy it would be to dump existing models etc, so basically, how helpful I am depends on how well the Devs do this.

I had geometry dumping working a year ago, it's not that hard to do and coding a GUI for it should be easy. The problem is that you'd likely end up with lots and LOTS of tiny geometry dumps of small vertex groups (.. and some bigger groups). Having a hundred thousands mini-dumps lying around can be avoided by using Fifo Player (for which I recently wrote a guide, btw).
Coding an .obj exporter+importer would probably be a requirement, but shouldn't be too hard. However, it also restricts the amount of things you could do with custom "models". When editing raw display lists you can create completely new effects; when restricting yourself to geometry data you can change just that.

Custom textures would use the existing custom textures feature.

EDIT: Further thinking about it, something like this format would probably work well:
"05
04
0a
06
27
80 filename.obj
34
fa
03
22
80 filename2.obj "
I.e. the file would probably contain raw FIFO data (the numbers basically setup render states, e.g. alpha blending etc) but link to external object files when geometry is to be drawn (that's the "80" command). That way you can still manually add/change effects but keep it simple for less advanced users who just want to edit geometry data (they won't have to edit that file at all then, just copy-paste it and edit only the .obj files).

The problem with this is of course that you have to edit each piece of geometry by itself. Speaking about full-blown character models as an example, this would e.g. mean that you get separate .obj files for arms/legs/head/body/etc or an even finer separation.

EDIT2:
Aaaand thinking further about it, it would probably be possible load multiple vertex groups from a single obj file. I.e. you'd have the full character model in a single .obj file, but inside the "raw fifo data file" you additionally have to specify which vertex range maps to which vertex group. Dunno if that makes any sense to you (too tired to elaborate on this atm) Big Grin
My blog
Me on Twitter
My wishlist on Amazon.de
Find
12-11-2012, 08:39 AM
#7
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
To be honest, I'm not sure if I'll ever have the time and motivation to actually implement this myself, but keep the concerns about usability coming. If we can agree on some common format to use for this, that'd be a first step for someone willing to do the work Smile
My blog
Me on Twitter
My wishlist on Amazon.de
Find
12-11-2012, 04:47 PM
#8
Shonumi Offline
Linux User/Tester
**********
Administrators
Posts: 6,479
Threads: 54
Joined: Dec 2011
So you'd be able to dump models as well as import them, huh? Personally, I'd just like to get the models themselves. Not much of a modeler, but I have a number of reasons why they'd be useful (3D printing *drools*). I could hack the source code, but I'm very limited in the 3D graphics department. I have done OBJ importing in OpenGL, but that's nothing special. I'm also kinda busy with other programming tasks atm.

neobrain Wrote:If we can agree on some common format to use for this, that'd be a first step for someone willing to do the work

OBJ files are pretty simple, easy to read and parse. Since they're not binary formats, they will take up a lot of space on more complex models. That said, I dunno the average vertex or triangle count for GC or Wii games, so it might not be an issue.
Website Find
12-11-2012, 06:07 PM (This post was last modified: 12-11-2012, 06:09 PM by MayImilae.)
#9
MayImilae Offline
Ambassador of Niche Platform Support
**********
Administrators
Posts: 4,466
Threads: 117
Joined: Mar 2011
Hmm, this is definitely interesting. Dumping is especially nice. Personally I don't expect many custom models to be made for it. As a 3D modeler, I know just how time consuming it is, so I know it won't exactly be done very often. Still, it does open the door for some interesting possibilities. Like, I could import a model and run it through subdivision (tesselation) and get PS3 polygon levels in two seconds. Of course there are always problems with that technique and it usually requires some manual fixing, but it could give really cool results.

OBJ is a good format for this kind of thing. I use it to go between 3DS Max and Blender all the time. It's a good basic format and it's well established and understood, so it's a great go between. Be wary though, importing and exporting, at least with 3D programs, is a total crapshoot. Even with standards established, there are differences in how 3D programs export OBJ files. I would suggest just going as standard compliant as you can, and/or using Blender as the reference point, as it has the best OBJ handling I've tried.
[Image: RPvlSEt.png]
Windows 10 x64 | Core i9-9900k | NVIDIA GeForce RTX 3090 EVGA FTW3 Ultra| 32GB DDR4-3000 | Asus Xonar Essence STX on Logitech Z-2300 | Logitech G903 Hero
MacBook Pro 14in | M1 Max (32 GPU Cores) | macOS 12 | 64GB LPDDR5 6400
Find
12-11-2012, 06:40 PM
#10
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
lol guys, let me repeat the problem with just using obj files: You cannot store anything but geometry in them (mostly, anyway). I.e. we need some sort of "header" format which takes care of render states and stuff.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
« Next Oldest | Next Newest »
Pages (2): 1 2 Next »
Thread Closed 


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode