Emuforums.com

Go Back   Emuforums.com > Gamecube Emulation > Dolphin Discussion
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read


Reply
 
LinkBack Thread Tools Display Modes
Old September 10th, 2008   #1 (permalink)
Banned
 
Join Date: Feb 2007
Location: Lost.
Posts: 1,767
AA in OpenGL plugin

Hi,

This topic is mainly for the developers.

Since the plugin seems to use framebuffer objects, I have some code that allows for multisampling of render buffers.....

Code:
#define STRICT
#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <stdlib.h>
#include "GLee.h"
#include <GL/glu.h>
#include <GL/glaux.h>
#include "resource.h"

// EXT_framebuffer_object - http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt

//------------------------------------------------------------------------------
// GLOBALS
//------------------------------------------------------------------------------
HWND   g_hWnd             = NULL;
HDC	   g_hDC              = NULL;
HGLRC  g_hRC              = NULL;
GLuint testTexture    = -1;
GLuint fbtexture = -1;

GLuint fbo;
GLuint depthBuffer;
GLuint colorBuffer;        
GLuint mfbo;

int g_nWindowWidth  = 640;
int g_nWindowHeight = 480;

const int RENDERBUFFER_WIDTH  = 256;
const int RENDERBUFFER_HEIGHT = 256;

float  g_fSpinX_L = 0.0f;
float  g_fSpinY_L = 0.0f;
float  g_fSpinX_R = 0.0f;
float  g_fSpinY_R = 0.0f;

struct Vertex
{
    float tu, tv;
    float x, y, z;
};

Vertex g_cubeVertices[] =
{
    { 0.0f,0.0f, -1.0f,-1.0f, 1.0f },
    { 1.0f,0.0f,  1.0f,-1.0f, 1.0f },
    { 1.0f,1.0f,  1.0f, 1.0f, 1.0f },
    { 0.0f,1.0f, -1.0f, 1.0f, 1.0f },
   
    { 1.0f,0.0f, -1.0f,-1.0f,-1.0f },
    { 1.0f,1.0f, -1.0f, 1.0f,-1.0f },
    { 0.0f,1.0f,  1.0f, 1.0f,-1.0f },
    { 0.0f,0.0f,  1.0f,-1.0f,-1.0f },
   
    { 0.0f,1.0f, -1.0f, 1.0f,-1.0f },
    { 0.0f,0.0f, -1.0f, 1.0f, 1.0f },
    { 1.0f,0.0f,  1.0f, 1.0f, 1.0f },
    { 1.0f,1.0f,  1.0f, 1.0f,-1.0f },
   
    { 1.0f,1.0f, -1.0f,-1.0f,-1.0f },
    { 0.0f,1.0f,  1.0f,-1.0f,-1.0f },
    { 0.0f,0.0f,  1.0f,-1.0f, 1.0f },
    { 1.0f,0.0f, -1.0f,-1.0f, 1.0f },
   
    { 1.0f,0.0f,  1.0f,-1.0f,-1.0f },
    { 1.0f,1.0f,  1.0f, 1.0f,-1.0f },
    { 0.0f,1.0f,  1.0f, 1.0f, 1.0f },
    { 0.0f,0.0f,  1.0f,-1.0f, 1.0f },
   
    { 0.0f,0.0f, -1.0f,-1.0f,-1.0f },
    { 1.0f,0.0f, -1.0f,-1.0f, 1.0f },
    { 1.0f,1.0f, -1.0f, 1.0f, 1.0f },
    { 0.0f,1.0f, -1.0f, 1.0f,-1.0f }
};

//------------------------------------------------------------------------------
// PROTOTYPES
//------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, 
				   LPSTR lpCmdLine, int nCmdShow);
LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
void loadTexture(void);
void init(void);
void render(void);
void shutDown(void);

//------------------------------------------------------------------------------
// Name: WinMain()
// Desc: The application's entry point
//------------------------------------------------------------------------------
int WINAPI WinMain(	HINSTANCE hInstance,
					HINSTANCE hPrevInstance,
					LPSTR     lpCmdLine,
					int       nCmdShow )
{
	WNDCLASSEX winClass; 
	MSG        uMsg;

    memset(&uMsg,0,sizeof(uMsg));

	winClass.lpszClassName = "MY_WINDOWS_CLASS";
	winClass.cbSize        = sizeof(WNDCLASSEX);
	winClass.style         = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
	winClass.lpfnWndProc   = WindowProc;
	winClass.hInstance     = hInstance;
    winClass.hIcon	       = LoadIcon(hInstance, (LPCTSTR)IDI_OPENGL_ICON);
    winClass.hIconSm	   = LoadIcon(hInstance, (LPCTSTR)IDI_OPENGL_ICON);
	winClass.hCursor       = LoadCursor(NULL, IDC_ARROW);
	winClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
	winClass.lpszMenuName  = NULL;
	winClass.cbClsExtra    = 0;
	winClass.cbWndExtra    = 0;
	
	if( !RegisterClassEx(&winClass) )
		return E_FAIL;

	g_hWnd = CreateWindowEx( NULL, "MY_WINDOWS_CLASS", 
		                     "OpenGL - Off-Screen Rendering Using Frame Buffer Objects",
						     WS_OVERLAPPEDWINDOW | WS_VISIBLE,
					         0, 0, 640, 480, NULL, NULL, hInstance, NULL );

	if( g_hWnd == NULL )
		return E_FAIL;

    ShowWindow( g_hWnd, nCmdShow );
    UpdateWindow( g_hWnd );

	GLeeInit();
	init();

	while( uMsg.message != WM_QUIT )
	{
		if( PeekMessage( &uMsg, NULL, 0, 0, PM_REMOVE ) )
		{
			TranslateMessage( &uMsg );
			DispatchMessage( &uMsg );
		}
        else
		    render();
	}

	shutDown();

    UnregisterClass( "MY_WINDOWS_CLASS", winClass.hInstance );

	return uMsg.wParam;
}

//------------------------------------------------------------------------------
// Name: WindowProc()
// Desc: The window's message handler
//------------------------------------------------------------------------------
LRESULT CALLBACK WindowProc( HWND   hWnd, 
							 UINT   msg, 
							 WPARAM wParam, 
							 LPARAM lParam )
{
	static POINT ptLastMousePosit_L;
	static POINT ptCurrentMousePosit_L;
	static bool  bMousing_L;
	
	static POINT ptLastMousePosit_R;
	static POINT ptCurrentMousePosit_R;
	static bool  bMousing_R;

    switch( msg )
	{
        case WM_KEYDOWN:
		{
			switch( wParam )
			{
				case VK_ESCAPE:
					PostQuitMessage(0);
					break;
			}
		}
        break;

		case WM_LBUTTONDOWN:
		{
			ptLastMousePosit_L.x = ptCurrentMousePosit_L.x = LOWORD (lParam);
            ptLastMousePosit_L.y = ptCurrentMousePosit_L.y = HIWORD (lParam);
			bMousing_L = true;
		}
		break;

		case WM_LBUTTONUP:
		{
			bMousing_L = false;
		}
		break;

		case WM_RBUTTONDOWN:
		{
			ptLastMousePosit_R.x = ptCurrentMousePosit_R.x = LOWORD (lParam);
            ptLastMousePosit_R.y = ptCurrentMousePosit_R.y = HIWORD (lParam);
			bMousing_R = true;
		}
		break;

		case WM_RBUTTONUP:
		{
			bMousing_R = false;
		}
		break;

		case WM_MOUSEMOVE:
		{
			ptCurrentMousePosit_L.x = LOWORD (lParam);
			ptCurrentMousePosit_L.y = HIWORD (lParam);
			ptCurrentMousePosit_R.x = LOWORD (lParam);
			ptCurrentMousePosit_R.y = HIWORD (lParam);

			if( bMousing_L )
			{
				g_fSpinX_L -= (ptCurrentMousePosit_L.x - ptLastMousePosit_L.x);
				g_fSpinY_L -= (ptCurrentMousePosit_L.y - ptLastMousePosit_L.y);
			}
			
			if( bMousing_R )
			{
				g_fSpinX_R -= (ptCurrentMousePosit_R.x - ptLastMousePosit_R.x);
				g_fSpinY_R -= (ptCurrentMousePosit_R.y - ptLastMousePosit_R.y);
			}

			ptLastMousePosit_L.x = ptCurrentMousePosit_L.x;
            ptLastMousePosit_L.y = ptCurrentMousePosit_L.y;
			ptLastMousePosit_R.x = ptCurrentMousePosit_R.x;
            ptLastMousePosit_R.y = ptCurrentMousePosit_R.y;
		}
		break;
		
		case WM_SIZE:
		{
			g_nWindowWidth  = LOWORD(lParam); 
			g_nWindowHeight = HIWORD(lParam);
			glViewport(0, 0, g_nWindowWidth, g_nWindowHeight);

			glMatrixMode( GL_PROJECTION );
			glLoadIdentity();
			gluPerspective( 45.0, (GLdouble)g_nWindowWidth / (GLdouble)g_nWindowHeight, 0.1, 100.0);
		}
		break;
		
		case WM_CLOSE:
		{
			PostQuitMessage(0);	
		}
		break;

        case WM_DESTROY:
		{
            PostQuitMessage(0);
		}
        break;
		
		default:
		{
			return DefWindowProc( hWnd, msg, wParam, lParam );
		}
		break;
	}

	return 0;
}

//------------------------------------------------------------------------------
// Name: loadTexture()
// Desc: 
//------------------------------------------------------------------------------
void loadTexture( void )	
{
	AUX_RGBImageRec *pTextureImage = auxDIBImageLoad( ".\\test.bmp" );

    if( pTextureImage != NULL )
	{
		glGenTextures( 1, &testTexture );

		glBindTexture(GL_TEXTURE_2D, testTexture);

		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
		glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);

		glTexImage2D( GL_TEXTURE_2D, 0, 3,pTextureImage->sizeX,pTextureImage->sizeY, 0,
			GL_RGB, GL_UNSIGNED_BYTE,pTextureImage->data );
	}

	if( pTextureImage != NULL )
	{
		if( pTextureImage->data != NULL )
			free( pTextureImage->data );

		free( pTextureImage );
	}
}

//------------------------------------------------------------------------------
// Name: init()
// Desc: 
//------------------------------------------------------------------------------
void init( void )
{
	GLuint PixelFormat;

	PIXELFORMATDESCRIPTOR pfd;
	memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));

    pfd.nSize      = sizeof(PIXELFORMATDESCRIPTOR);
    pfd.nVersion   = 1;
    pfd.dwFlags    = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
    pfd.iPixelType = PFD_TYPE_RGBA;
    pfd.cColorBits = 16;
    pfd.cDepthBits = 16;
	
	g_hDC = GetDC( g_hWnd );
	PixelFormat = ChoosePixelFormat( g_hDC, &pfd );
	SetPixelFormat( g_hDC, PixelFormat, &pfd);
	g_hRC = wglCreateContext( g_hDC );
	wglMakeCurrent( g_hDC, g_hRC );

	glClearColor( 0.0f, 0.0f, 1.0f, 1.0f );
	glEnable(GL_TEXTURE_2D);
	glEnable(GL_DEPTH_TEST);

	glMatrixMode( GL_PROJECTION );
	glLoadIdentity();
	gluPerspective( 45.0, (GLdouble)g_nWindowWidth / g_nWindowHeight, 0.1, 100.0 );

	//
	// If the required extensions are present, get the addresses for the
	// functions that we wish to use...
	//

	//
	// EXT_framebuffer_object
	//

	char *ext = (char*)glGetString( GL_EXTENSIONS );

	if( strstr( ext, "EXT_framebuffer_multisample" ) == NULL )
	{
		MessageBox(NULL,"No framebuffer object multisampling detected!",
			"ERROR",MB_OK|MB_ICONEXCLAMATION);
		exit(-1);
	}

	//
	// Create a frame-buffer object..
	//
	glGenFramebuffersEXT( 1, &fbo );


	glGenRenderbuffersEXT(1, &colorBuffer);
	glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, colorBuffer);
	glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, 8, GL_RGB, RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT);
	
	// Initialize the render-buffer for usage as a depth buffer.
	// We don't really need this to render things into the frame-buffer object,
	// but without it the geometry will not be sorted properly.
	glGenRenderbuffersEXT( 1, &depthBuffer );
	glBindRenderbufferEXT( GL_RENDERBUFFER_EXT, depthBuffer );
	glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, 8, GL_DEPTH_COMPONENT24, RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT);
    glFramebufferRenderbufferEXT( GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depthBuffer );
	//
	// Check for errors...
	//
	glGenFramebuffersEXT(1, &mfbo);
	glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, mfbo);
	glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_RENDERBUFFER_EXT, colorBuffer);
	glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depthBuffer);

	GLenum status = glCheckFramebufferStatusEXT( GL_FRAMEBUFFER_EXT );

	switch( status )
	{
		case GL_FRAMEBUFFER_COMPLETE_EXT:
			//MessageBox(NULL,"GL_FRAMEBUFFER_COMPLETE_EXT!","SUCCESS",MB_OK|MB_ICONEXCLAMATION);
			break;

		case GL_FRAMEBUFFER_UNSUPPORTED_EXT:
			MessageBox(NULL,"GL_FRAMEBUFFER_UNSUPPORTED_EXT!","ERROR",MB_OK|MB_ICONEXCLAMATION);
			exit(0);
			break;

		default:
			exit(0);
	}

	//
	// Now, create our dynamic texture. It doesn't actually get loaded with any 
	// pixel data, but its texture ID becomes associated with the pixel data
	// contained in the frame-buffer object. This allows us to bind to this data
	// like we would any regular texture.
	//
	glGenTextures( 1, &fbtexture );
	glBindTexture( GL_TEXTURE_2D, fbtexture );
	glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, 
    RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT, 
    0, GL_RGB, GL_UNSIGNED_BYTE, 0 );
	glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
	glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
	// Load a regular texture...
	loadTexture();

	glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, fbo );
	glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, fbtexture, 0 );
    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);

}

//-----------------------------------------------------------------------------
// Name: shutDown()
// Desc: 
//-----------------------------------------------------------------------------
void shutDown( void )
{
    glDeleteTextures( 1, &testTexture );
    glDeleteTextures( 1, &fbtexture );

	glDeleteFramebuffersEXT( 1, &fbo );
	glDeleteRenderbuffersEXT( 1, &depthBuffer );

	if( g_hRC != NULL )
	{
		wglMakeCurrent( NULL, NULL );
		wglDeleteContext( g_hRC );
		g_hRC = NULL;
	}

	if( g_hDC != NULL )
	{
		ReleaseDC( g_hWnd, g_hDC );
		g_hDC = NULL;
	}
}

//------------------------------------------------------------------------------
// Name: render()
// Desc: 
//------------------------------------------------------------------------------
void render( void )
{
	//
	// Bind the frame-buffer object so we can render to it.
	//
	glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, mfbo);



	//
	// Set up the frame-buffer object just like you would set up a window.
	//

	glPushAttrib(GL_VIEWPORT_BIT);
	glViewport( 0, 0, RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT );
	glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
	//
	// Let the user spin the cube about with the right mouse button, so our 
	// dynamic texture will show motion.
	//

	glMatrixMode( GL_MODELVIEW );
	glLoadIdentity();
	glTranslatef( 0.0f, 0.0f, -5.0f );
	glRotatef( -g_fSpinY_R, 1.0f, 0.0f, 0.0f );
	glRotatef( -g_fSpinX_R, 0.0f, 1.0f, 0.0f );

	//
	// Now, render the cube to the frame-buffer object just like you we would
	// have done with a regular window.
	//

	glBindTexture( GL_TEXTURE_2D, testTexture );
	glInterleavedArrays( GL_T2F_V3F, 0, g_cubeVertices );
	glDrawArrays( GL_QUADS, 0, 24 );

	//
	// Rebind framebuffers for HWFB MSAA blitting
	//
    glPopAttrib();
	glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, mfbo);
	glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, fbo);
	glBlitFramebufferEXT(0, 0, RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT, 0, 0, RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT, GL_COLOR_BUFFER_BIT, GL_NEAREST);

	// unbind fbo, so that we render to the window framebuffer
	glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 );

	//--------------------------------------------------------------------------
	// Now, set up the regular window for rendering...
	//--------------------------------------------------------------------------
	glClearColor( 0.0f, 0.0f, 1.0f, 1.0f );
	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

	//
	// Let the user spin the cube about with the left mouse button.
	//

	glMatrixMode( GL_MODELVIEW );
    glLoadIdentity();
	glTranslatef( 0.0f, 0.0f, -5.0f );
    glRotatef( -g_fSpinY_L, 1.0f, 0.0f, 0.0f );
    glRotatef( -g_fSpinX_L, 0.0f, 1.0f, 0.0f );

    //
    // Finally, we'll use the dynamic texture like a regular static texture.
    //

	glBindTexture( GL_TEXTURE_2D, fbtexture );
    glInterleavedArrays( GL_T2F_V3F, 0, g_cubeVertices );
    glDrawArrays( GL_QUADS, 0, 24 );

	SwapBuffers( g_hDC );
}
mudlord is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old September 10th, 2008   #2 (permalink)
Behind ur girlfriend :D
 
Squall-Leonhart's Avatar
 
Join Date: Feb 2006
Location: Sydney, Australia
Posts: 18,918
Trust mudlord to add some of his expertise to the opengl portion :P

However, what about AF control?
__________________


VBA-M | Xtemu | NGOHQ | Post Impact Productions | TNHW | XBCD 0.2.6 | Satanic666's Emulator Compiles
Don't be a NOOB, READ THE NGEmu/EmuForums Rules of Conduct
Need Help with ePSXe? This is your first stop!.

If you don't post all the required information, you don't get help.
Everytime someone posts a romsite, God kills a beautiful woman.
Squall-Leonhart is online now   Reply With Quote
Old September 10th, 2008   #3 (permalink)
Banned
 
Join Date: Feb 2007
Location: Lost.
Posts: 1,767
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, fAmountOfAnisotropy);

fAmountOfAnisotropy, being cast as a float.
mudlord is offline   Reply With Quote
Old September 10th, 2008   #4 (permalink)
Registered User
 
Join Date: May 2008
Location: South Africa
Posts: 815
Have you considered joining the Dolphin development team mudlord?
jasong is offline   Reply With Quote
Old September 10th, 2008   #5 (permalink)
Emu author
 
Join Date: May 2003
Posts: 417
Hi mudlord,

Just ask (and PM me your gmail account or join us on IRC) and you will get SVN access so you can make the changes yourself.
ector is offline   Reply With Quote
Old September 10th, 2008   #6 (permalink)
Controller Freak
 
N4ch007's Avatar
 
Join Date: Jul 2008
Location: Argentina
Posts: 156
Quote:
Originally Posted by ector View Post
Hi mudlord,

Just ask (and PM me your gmail account or join us on IRC) and you will get SVN access so you can make the changes yourself.
as an outsider... those are great news for dolphin
__________________
Want to get YouTube to add a great new feature? Let's spread this video to see if we can get it!

CPU: Intel Core2Duo E6750
Motherboard: Gigabyte (forgot the model )
RAM: 2gb OCZ
HD: 320 GB Maxtor
Sound card: Sound Blaster X-Fi
Graphics Card: Geforce 8600 GT XXX
OS: 1. Windows XP Professional 32bit
N4ch007 is offline   Reply With Quote
Old September 10th, 2008   #7 (permalink)
Behind ur girlfriend :D
 
Squall-Leonhart's Avatar
 
Join Date: Feb 2006
Location: Sydney, Australia
Posts: 18,918
i hardly call mudlord an outsider.
__________________


VBA-M | Xtemu | NGOHQ | Post Impact Productions | TNHW | XBCD 0.2.6 | Satanic666's Emulator Compiles
Don't be a NOOB, READ THE NGEmu/EmuForums Rules of Conduct
Need Help with ePSXe? This is your first stop!.

If you don't post all the required information, you don't get help.
Everytime someone posts a romsite, God kills a beautiful woman.
Squall-Leonhart is online now   Reply With Quote
Old September 11th, 2008   #8 (permalink)
Registered User
 
helles's Avatar
 
Join Date: Jul 2008
Location: Germany
Posts: 89
I think he (N4ch007) was talking about himself... ;-)
__________________
Windows xp professional SP2 32 bit
AMD Athlon 64 2x2GHz
ATI Radeon x1900xt
2GB DDR
Terratec Aureon 7.1 Space

or:

Windows xp home sp2 32 bit
intel c2d 2x2GHz
nvidia geforce 7900 go
2GB DDR2
helles is offline   Reply With Quote
Old September 11th, 2008   #9 (permalink)
Behind ur girlfriend :D
 
Squall-Leonhart's Avatar
 
Join Date: Feb 2006
Location: Sydney, Australia
Posts: 18,918
Guten Tag.
Maybe, only he would know for sure.
__________________


VBA-M | Xtemu | NGOHQ | Post Impact Productions | TNHW | XBCD 0.2.6 | Satanic666's Emulator Compiles
Don't be a NOOB, READ THE NGEmu/EmuForums Rules of Conduct
Need Help with ePSXe? This is your first stop!.

If you don't post all the required information, you don't get help.
Everytime someone posts a romsite, God kills a beautiful woman.
Squall-Leonhart is online now   Reply With Quote
Old September 11th, 2008   #10 (permalink)
Banned
 
Join Date: Feb 2007
Location: Lost.
Posts: 1,767
Quote:
Have you considered joining the Dolphin development team mudlord?
No. Never crossed my mind at all.
mudlord is offline   Reply With Quote
Old September 11th, 2008   #11 (permalink)
Registered User
 
Join Date: May 2008
Location: South Africa
Posts: 815
Hmm...maybe it should.
jasong is offline   Reply With Quote
Old September 11th, 2008   #12 (permalink)
Behind ur girlfriend :D
 
Squall-Leonhart's Avatar
 
Join Date: Feb 2006
Location: Sydney, Australia
Posts: 18,918
i think mudlord has enough projects underway as it is.
__________________


VBA-M | Xtemu | NGOHQ | Post Impact Productions | TNHW | XBCD 0.2.6 | Satanic666's Emulator Compiles
Don't be a NOOB, READ THE NGEmu/EmuForums Rules of Conduct
Need Help with ePSXe? This is your first stop!.

If you don't post all the required information, you don't get help.
Everytime someone posts a romsite, God kills a beautiful woman.
Squall-Leonhart is online now   Reply With Quote
Old September 11th, 2008   #13 (permalink)
 
xcedf's Avatar
 
Join Date: Nov 2006
Location: nowhere
Posts: 418
If mudlord aren't wisht to join team, so team can use this code for AA function in Dolphin please))))
__________________
My PC: Core2Duo e6750 2,66 Ghz (@ 3,20 Ghz), MB: Gigabyte GA-965p-s3, Ram: 2Gb (2x1) Corsair XMS2 PRO pc6400 800Mhz 4-4-4-12, Video: gf9800Gt 1Gb, HDD: Seagate SATAII 400Gb (372Gb)
xcedf is offline   Reply With Quote
Old September 12th, 2008   #14 (permalink)
Registered User
 
Join Date: Dec 2006
Location: ß
Posts: 432
cool....maybe over the weekend...
__________________
AMD X2 5200+(65Watt)@3.2GHz | GTX280 | 4GB RAM | Vista Ultimate x64
shuffle2 is offline   Reply With Quote
Old September 12th, 2008   #15 (permalink)
Banned
 
Join Date: Feb 2007
Location: Lost.
Posts: 1,767
Quote:
Hi mudlord,

Just ask (and PM me your gmail account or join us on IRC) and you will get SVN access so you can make the changes yourself.
Thanks, but the issue is I don't have any GameCube games to test your emu at all. And I don't know any GC tech demos that work on the emulator.

You see, when I program, I prefer to test things out thoroughly. And this addon isn't exactly a walk in the park, as it involves some major changes to how render to texture operates in the OpenGL plugin..

Last edited by mudlord; September 12th, 2008 at 06:44.. Reason: Automerged Doublepost
mudlord is offline   Reply With Quote
Old September 12th, 2008   #16 (permalink)
Controller Freak
 
N4ch007's Avatar
 
Join Date: Jul 2008
Location: Argentina
Posts: 156
Quote:
Originally Posted by Squall-Leonhart View Post
Guten Tag.
Maybe, only he would know for sure.
heheh yes, i was talking about myself. i´m an outsider on emu coding, but not on using
__________________
Want to get YouTube to add a great new feature? Let's spread this video to see if we can get it!

CPU: Intel Core2Duo E6750
Motherboard: Gigabyte (forgot the model )
RAM: 2gb OCZ
HD: 320 GB Maxtor
Sound card: Sound Blaster X-Fi
Graphics Card: Geforce 8600 GT XXX
OS: 1. Windows XP Professional 32bit
N4ch007 is offline   Reply With Quote
Old September 12th, 2008   #17 (permalink)
Behind ur girlfriend :D
 
Squall-Leonhart's Avatar
 
Join Date: Feb 2006
Location: Sydney, Australia
Posts: 18,918
Quote:
Originally Posted by mudlord View Post
Thanks, but the issue is I don't have any GameCube games to test your emu at all. And I don't know any GC tech demos that work on the emulator.

You see, when I program, I prefer to test things out thoroughly. And this addon isn't exactly a walk in the park, as it involves some major changes to how render to texture operates in the OpenGL plugin..
Hey mudlord, theres some homebrew games here
The Emulator Zone - Gamecube
__________________


VBA-M | Xtemu | NGOHQ | Post Impact Productions | TNHW | XBCD 0.2.6 | Satanic666's Emulator Compiles
Don't be a NOOB, READ THE NGEmu/EmuForums Rules of Conduct
Need Help with ePSXe? This is your first stop!.

If you don't post all the required information, you don't get help.
Everytime someone posts a romsite, God kills a beautiful woman.
Squall-Leonhart is online now   Reply With Quote
Old September 13th, 2008   #18 (permalink)
Registered User
 
Join Date: May 2008
Location: South Africa
Posts: 815
Is anyone working on implementing this updated code? Be great to see how it turns out.
jasong is offline   Reply With Quote
Old September 13th, 2008   #19 (permalink)
******
 
Join Date: Jul 2008
Posts: 1,188
So far, nopes, I don't think the devs has touched OpenGL in a while. Im trying to fix the Ati related issues in it atm.
omegadox is offline   Reply With Quote
Old September 13th, 2008   #20 (permalink)
Registered User
 
Join Date: May 2008
Location: South Africa
Posts: 815
shuffle2 mentioned something about it...?
jasong is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 04:52.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5