danielb6611 / mupen64plus

Automatically exported from code.google.com/p/mupen64plus
0 stars 0 forks source link

MultiSampling support? #338

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
It's just an idea. Don't know if someone think about that.

http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=46
http://www.opengl.org/wiki/Multisampling

Don't seems to be to difficult to integrate and it could increase image
quality. (And mupen64plus will be the only N64 emu to integrate it).

It's just an idea. It's not pressed. :)

Original issue reported on code.google.com by dorian.f...@gmail.com on 23 Feb 2010 at 4:43

GoogleCodeExporter commented 8 years ago
Wow!

I'd find some tutorial doc and infos on the web:

http://www.gamedev.net/community/forums/topic.asp?topic_id=382035

http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=23309
0

And after two modifs (in OGLGraphicsContext.cpp):

    /* set opengl attributes */
    CoreVideo_GL_SetAttribute(M64P_GL_DOUBLEBUFFER, 1);
    CoreVideo_GL_SetAttribute(M64P_GL_BUFFER_SIZE, colorBufferDepth);
    //CoreVideo_GL_SetAttribute(M64P_GL_DEPTH_SIZE, depthBufferDepth);
    CoreVideo_GL_SetAttribute(M64P_GL_DEPTH_SIZE, 24);
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4);

I have the image I attached:

Look how the gun look clear!

So, I know it's not easy as 1-2-3. You have to do some check before (and only 
24 bit
depth buffer seem to work on ATI card).

But games are wonderful! o_O!

(I will post some other pict later)

Original comment by dorian.f...@gmail.com on 23 Feb 2010 at 5:35

Attachments:

GoogleCodeExporter commented 8 years ago
After test, the Depth buffer size of 16 don't seem to be a problem. This also 
give FSAA:

   /* set opengl attributes */
    CoreVideo_GL_SetAttribute(M64P_GL_DOUBLEBUFFER, 1);
    CoreVideo_GL_SetAttribute(M64P_GL_BUFFER_SIZE, colorBufferDepth);
    CoreVideo_GL_SetAttribute(M64P_GL_DEPTH_SIZE, depthBufferDepth);
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4);

But I suppose it depend of the graphic card and/or drivers.

Original comment by dorian.f...@gmail.com on 23 Feb 2010 at 5:47

Attachments:

GoogleCodeExporter commented 8 years ago
this option has been committed to the bitbucket repository

Original comment by richard...@gmail.com on 27 Feb 2010 at 2:02