This list is closed, nobody may subscribe to it.
| 2004 |
Jan
(7) |
Feb
(117) |
Mar
(37) |
Apr
(46) |
May
(14) |
Jun
(255) |
Jul
(100) |
Aug
(76) |
Sep
(65) |
Oct
(38) |
Nov
(49) |
Dec
(41) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(106) |
Feb
(70) |
Mar
(9) |
Apr
(4) |
May
(42) |
Jun
(29) |
Jul
(106) |
Aug
(38) |
Sep
(11) |
Oct
(31) |
Nov
(14) |
Dec
(14) |
| 2006 |
Jan
(2) |
Feb
(9) |
Mar
(15) |
Apr
(13) |
May
(16) |
Jun
(5) |
Jul
(11) |
Aug
(1) |
Sep
(7) |
Oct
|
Nov
(9) |
Dec
(1) |
| 2007 |
Jan
(13) |
Feb
(107) |
Mar
(43) |
Apr
(43) |
May
(38) |
Jun
(38) |
Jul
(63) |
Aug
|
Sep
(30) |
Oct
(52) |
Nov
(4) |
Dec
(10) |
| 2008 |
Jan
(12) |
Feb
(10) |
Mar
(5) |
Apr
(3) |
May
(15) |
Jun
(2) |
Jul
|
Aug
(10) |
Sep
(20) |
Oct
(6) |
Nov
|
Dec
(6) |
| 2009 |
Jan
(1) |
Feb
(5) |
Mar
(3) |
Apr
(51) |
May
|
Jun
|
Jul
|
Aug
(14) |
Sep
|
Oct
|
Nov
|
Dec
(4) |
| 2010 |
Jan
(9) |
Feb
|
Mar
(8) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(7) |
Dec
(1) |
| 2012 |
Jan
|
Feb
(6) |
Mar
(3) |
Apr
|
May
(6) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
|
From: Jose' C. <cru...@ce...> - 2008-01-04 20:48:17
|
Il giorno 04/gen/08, alle ore 18:08, James W. Walker ha scritto: > On Jan 4, 2008, at 2:32 AM, Daniele Cavallini wrote: > >> The site http://www.quesa.org/ don't exist more. > > News to me. That's not good. > waiting the domain returns free (little hope I think) I've registered the domain quesa3d,org, when it became active I'll =20 map it to quesa.sourceforge.net Btw some time there were a automation to extract the web site out the =20= cvs contents, has anyone some info? Pax et Bonum # Dott. Jos=E9 Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,3923101 0372,460602 |
|
From: James W. <ja...@fr...> - 2008-01-04 18:15:05
|
James W. Walker wrote: > You mean there is a compile error? If you tell me what the error is > and what line of code produces it, I could probably tell you how to > fix it. P.S. I just committed a couple of changes that may help. -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> |
|
From: James W. W. <os...@jw...> - 2008-01-04 17:08:48
|
On Jan 4, 2008, at 2:32 AM, Daniele Cavallini wrote: > The site http://www.quesa.org/ don't exist more. News to me. That's not good. > I download last quesa version from cvs and I have some question. > > I would like to try the Mutating Alghoritm with windows but I don't > compile it. I use Visual studio 2005.I think using visual studio > 2008 is > same thing. You mean there is a compile error? If you tell me what the error is and what line of code produces it, I could probably tell you how to fix it. |
|
From: Daniele C. <dca...@in...> - 2008-01-04 10:33:10
|
The site http://www.quesa.org/ don't exist more. I download last quesa version from cvs and I have some question. I would like to try the Mutating Alghoritm with windows but I don't compile it. I use Visual studio 2005.I think using visual studio 2008 is same thing.Is it possible to have a compiled library to use for this function? I try to compile rayshade but I found some problem. - Some files are saved in mac file format (CR) I must convert manually in win(CR LF) or unix (LF) format.Just a little annoyance. - It is necessary add #include "float.h" to the project because DBL_EPSILON is not defined. It is not a big problem. - Using TQ3PixmapDrawContextData RayShade make a mistake with color. The older version work fine.Problem annoyance because I don't resolve. You can see the different at link: http://www.interstudio.net/quesa/rayshadeoldPixmap.JPG http://www.interstudio.net/quesa/rayshadenewPixmap.JPG Thank's for advice. |
|
From: James W. <ja...@fr...> - 2008-01-02 20:39:59
|
James W. Walker wrote: > José, one of your changes to GLVBOManager.cpp for Unix compatibility > caused errors in Xcode, so I had to change it. I hope I haven't > broken it for Unix. Hmm, now it doesn't work on CodeWarrior compiling for Windows unless I prefix ptrdiff_t with std::. I wonder if it's going to be possible to get this to work on all platforms without more conditionals. -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> |
|
From: James W. W. <os...@jw...> - 2007-12-29 19:27:58
|
Jos=E9, one of your changes to GLVBOManager.cpp for Unix compatibility =20= caused errors in Xcode, so I had to change it. I hope I haven't =20 broken it for Unix.= |
|
From: SourceForge.net <no...@so...> - 2007-12-27 03:20:06
|
Bugs item #902982, was opened at 2004-02-23 13:05 Message generated for change (Comment added) made by sf-robot You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=442052&aid=902982&group_id=45158 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: Fixed Priority: 5 Private: No Submitted By: Dair Grant (grantd) Assigned to: James W. Walker (jwwalker) Summary: Support FSAA through arb_multisample Initial Comment: The kQ3AntiAliasModeMaskFullScreen style should be implemented with the arb_multisample extension where available (e.g., in Jaguar) rather than an ATI specific enum. This will let us support FSAA on both ATI and nvidia cards (and will also be portable, unlike the ATI enum). ---------------------------------------------------------------------- >Comment By: SourceForge Robot (sf-robot) Date: 2007-12-26 19:20 Message: Logged In: YES user_id=1312539 Originator: NO This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 14 days (the time period specified by the administrator of this Tracker). ---------------------------------------------------------------------- Comment By: James W. Walker (jwwalker) Date: 2007-12-11 23:40 Message: Logged In: YES user_id=433183 Originator: NO There is now an implementation for the OpenGL renderer on Mac (Carbon) and Windows. It requires that the client supply the platform-dependent pixel format in a draw context property. ---------------------------------------------------------------------- Comment By: Michael Sullivan (imikey) Date: 2005-08-09 02:03 Message: Logged In: YES user_id=836812 This was discussed recently on the quesa-develop list and it was successfully implemented using a different technique than what was described in the original bug... ----------------------------------------------------- I took a shot at getting multisampling working after reading Apple"s FSAA technote (http://developer.apple.com/qa/qa2001/qa1268.html) and it turned out to be pretty easy. I added the following lines in gldrawcontext_mac_new() just before the AGL_DOUBLEBUFFER attribute is set: glAttributes[numAttributes++] = AGL_ACCELERATED; glAttributes[numAttributes++] = AGL_NO_RECOVERY; glAttributes[numAttributes++] = AGL_SAMPLES_ARB; glAttributes[numAttributes++] = (GLint)4; glAttributes[numAttributes++] = AGL_SAMPLE_BUFFERS_ARB; glAttributes[numAttributes++] = (GLint)1; Surprisingly, that was all that was necessary despite the fact that the technote stated that you needed to enable it with code such as: glEnable(GL_MULTISAMPLE_ARB); glHint( GL_MULTISAMPLE_FILTER_HINT_NV, GL_NICEST ); As far as I can tell, multisampling is more intensive in both time and memory than the GL_BLEND approach, but the results are quite excellent. [stuff deleted] On 31-Jul-2005, at 2:35 PM, James W. Walker wrote: > On Jul 31, 2005, at 6:33 AM, Mikey wrote: > >> The GL_POLYGON_SMOOTH code appears to be implemented by Quesa, but >> the other two functions don"t appear to get called unless you"re >> rendering transparent objects. Just to see what would happen, I >> added missing functions to my rendering code and the jaggies >> finally went bye-bye. Unfortunately, doing this introduces gaps >> between triangles because it starts blending all triangle edges, >> not just ones on the where it"s needed. >> >> Any ideas on how to add this type of blended anti-aliasing to Quesa? > > I don"t know about that type of antialiasing, but we do have an > open bug, 902982, suggesting that we do antialiasing a different > way, using GL_ARB_multisample. ----------------------------------------------------- On Aug 4, 2005, at 11:58 PM, Mikey wrote: > Does that mean we need to create a new type of style that"s for the > entire scene displayed in the window/full-screen? Or should this > be a draw context flag? A flag on the draw context or renderer would make more sense to me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=442052&aid=902982&group_id=45158 |
|
From: James W. <ja...@fr...> - 2007-12-12 21:56:59
|
Jose' Cruanyes wrote:
> Il giorno 12/dic/07, alle ore 01:17, James Walker ha scritto:
>
>> The extra complication is mostly due to Windows. On Windows, in order
>> to get an appropriate function pointer, you must first get a function
>> pointer to wglChoosePixelFormatARB, and in order to get that, you must
>> already have an OpenGL context set up. So the typical routine would
>> involve creating a dummy window, getting the function pointer,
>> destroying the dummy window, and then proceeding to set up the window
>> you really want to use. I didn't want Quesa to get into the
>> business of
>> creating and destroying windows.
>
>
> can you please post a code snippet of this, (mostly for documentation
> purposes)
OK... I'm not an expert Windows programmer, so I might be doing more
work than necessary.
static const char* kWindowClassName = "dummy";
static HDC theDC = NULL;
static PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB
= NULL;
static PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL;
static void RegisterWindowClass( HINSTANCE inInstance )
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_OWNDC;
wcex.lpfnWndProc = (WNDPROC) DefWindowProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = inInstance;
wcex.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = NULL;
wcex.lpszMenuName = NULL;
wcex.lpszClassName = kWindowClassName;
wcex.hIconSm = NULL;
RegisterClassEx(&wcex);
}
void SetDummyGLContext()
{
static HGLRC glContext = NULL;
if (glContext == NULL)
{
HINSTANCE theInstance = GetModuleHandle( NULL );
RegisterWindowClass( theInstance );
HWND theWindow = CreateWindow( kWindowClassName, "XDummy",
WS_OVERLAPPEDWINDOW |
WS_CLIPCHILDREN |
WS_CLIPSIBLINGS,
400, 30, 40, 40,
NULL, NULL, theInstance, NULL );
theDC = GetDC((HWND) theWindow);
PIXELFORMATDESCRIPTOR pixelFormatDesc;
pixelFormatDesc.nSize = sizeof(pixelFormatDesc);
pixelFormatDesc.nVersion = 1;
pixelFormatDesc.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER;
pixelFormatDesc.cColorBits = 0;
pixelFormatDesc.cDepthBits = 24;
pixelFormatDesc.cStencilBits = 8;
pixelFormatDesc.iPixelType = PFD_TYPE_RGBA;
int pixelFormat = ChoosePixelFormat( theDC, &pixelFormatDesc );
if (pixelFormat != NULL)
{
if (SetPixelFormat( theDC, pixelFormat, &pixelFormatDesc))
{
glContext = wglCreateContext( theDC );
}
}
}
if (glContext != NULL)
{
wglMakeCurrent( theDC, glContext );
}
}
static bool HasMultisample()
{
std::string theExts(" ");
theExts += (const char*) glGetString( GL_EXTENSIONS );
theExts += ' ';
bool hasExt = theExts.find( " GL_ARB_multisample " ) != std::string::npos;
if (not hasExt)
{
// OpenGL 1.3 incorporates multisampling.
std::string theVers( (const char*) glGetString( GL_VERSION ) );
if ( (theVers[0] > '1') or (theVers[2] >= '3') )
{
hasExt = true;
}
}
return hasExt;
}
static bool IsMultisampleFormat( HDC inDC, int inPixelFormat )
{
bool isMulti = false;
int atts[2] = {
WGL_SAMPLE_BUFFERS_ARB,
WGL_SAMPLES_ARB
};
int values[2];
if (wglGetPixelFormatAttribivARB( inDC, inPixelFormat, 0, 2,
atts, values ))
{
isMulti = (values[0] > 0) and (values[1] > 0);
}
return isMulti;
}
static int ChoosePixelFormatARB( HDC hdc, const int *piAttribIList )
{
UINT numFormats = -1;
int theFormat = 0;
if (wglChoosePixelFormatARB( hdc, piAttribIList, NULL, 1, &theFormat,
&numFormats ))
{
if (numFormats == 0)
{
theFormat = 0;
//DebugMsg("No multisample formats available");
}
else
{
if (not IsMultisampleFormat( hdc, theFormat ))
{
theFormat = 0; // not sure if this can happen
}
}
}
else
{
DWORD err = GetLastError();
char xmsg[100];
std::sprintf( xmsg, "wglChoosePixelFormatARB failed with error %X.",
err );
DebugMsg(xmsg);
}
return theFormat;
}
static int ChooseWinMultisampleFormat()
{
int theFormat = 0;
SetDummyGLContext();
if (not HasMultisample())
{
return theFormat;
}
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB =
(PFNWGLGETEXTENSIONSSTRINGARBPROC)
wglGetProcAddress("wglGetExtensionsStringARB");
if (wglGetExtensionsStringARB != NULL)
{
HDC theDC = GetDummyDC();
std::string extStr(" ");
extStr += (char*)wglGetExtensionsStringARB( theDC );
extStr += ' ';
if (extStr.find( " WGL_ARB_pixel_format " ) != std::string::npos)
{
wglChoosePixelFormatARB =
(PFNWGLCHOOSEPIXELFORMATARBPROC)
wglGetProcAddress( "wglChoosePixelFormatARB" );
wglGetPixelFormatAttribivARB =
(PFNWGLGETPIXELFORMATATTRIBIVARBPROC)
wglGetProcAddress( "wglGetPixelFormatAttribivARB" );
int atts[] =
{
WGL_SAMPLES_ARB, 4, // keep this first!
WGL_DOUBLE_BUFFER_ARB, GL_TRUE,
WGL_DRAW_TO_WINDOW_ARB, GL_TRUE,
WGL_SUPPORT_OPENGL_ARB, GL_TRUE,
WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB,
WGL_SAMPLE_BUFFERS_ARB, 1,
WGL_DEPTH_BITS_ARB, 24,
WGL_STENCIL_BITS_ARB, 8,
0, 0
};
theFormat = ChoosePixelFormatARB( theDC, atts );
if ( theFormat == 0 )
{
atts[1] = 2; // WGL_SAMPLES_ARB value
theFormat = ChoosePixelFormatARB( theDC, atts );
}
}
}
return theFormat;
}
--
James W. Walker, Innoventive Software LLC
<http://www.frameforge3d.com/>
|
|
From: James W. <ja...@fr...> - 2007-12-12 21:37:38
|
Jose' Cruanyes wrote:
> Il giorno 12/dic/07, alle ore 01:17, James Walker ha scritto:
>
>> The extra complication is mostly due to Windows. On Windows, in order
>> to get an appropriate function pointer, you must first get a function
>> pointer to wglChoosePixelFormatARB, and in order to get that, you must
>> already have an OpenGL context set up. So the typical routine would
>> involve creating a dummy window, getting the function pointer,
>> destroying the dummy window, and then proceeding to set up the window
>> you really want to use. I didn't want Quesa to get into the
>> business of
>> creating and destroying windows.
>
>
> can you please post a code snippet of this, (mostly for documentation
> purposes)
OK... I'm not an expert Windows programmer, so I might be doing more
work than necessary.
static const char* kWindowClassName = "dummy";
static HDC theDC = NULL;
static PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB
= NULL;
static PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = NULL;
static void RegisterWindowClass( HINSTANCE inInstance )
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_OWNDC;
wcex.lpfnWndProc = (WNDPROC) DefWindowProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = inInstance;
wcex.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = NULL;
wcex.lpszMenuName = NULL;
wcex.lpszClassName = kWindowClassName;
wcex.hIconSm = NULL;
RegisterClassEx(&wcex);
}
void SetDummyGLContext()
{
static HGLRC glContext = NULL;
if (glContext == NULL)
{
HINSTANCE theInstance = GetModuleHandle( NULL );
RegisterWindowClass( theInstance );
HWND theWindow = CreateWindow( kWindowClassName, "XDummy",
WS_OVERLAPPEDWINDOW |
WS_CLIPCHILDREN |
WS_CLIPSIBLINGS,
400, 30, 40, 40,
NULL, NULL, theInstance, NULL );
theDC = GetDC((HWND) theWindow);
PIXELFORMATDESCRIPTOR pixelFormatDesc;
pixelFormatDesc.nSize = sizeof(pixelFormatDesc);
pixelFormatDesc.nVersion = 1;
pixelFormatDesc.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER;
pixelFormatDesc.cColorBits = 0;
pixelFormatDesc.cDepthBits = 24;
pixelFormatDesc.cStencilBits = 8;
pixelFormatDesc.iPixelType = PFD_TYPE_RGBA;
int pixelFormat = ChoosePixelFormat( theDC, &pixelFormatDesc );
if (pixelFormat != NULL)
{
if (SetPixelFormat( theDC, pixelFormat, &pixelFormatDesc))
{
glContext = wglCreateContext( theDC );
}
}
}
if (glContext != NULL)
{
wglMakeCurrent( theDC, glContext );
}
}
static bool HasMultisample()
{
std::string theExts(" ");
theExts += (const char*) glGetString( GL_EXTENSIONS );
theExts += ' ';
bool hasExt = theExts.find( " GL_ARB_multisample " ) != std::string::npos;
if (not hasExt)
{
// OpenGL 1.3 incorporates multisampling.
std::string theVers( (const char*) glGetString( GL_VERSION ) );
if ( (theVers[0] > '1') or (theVers[2] >= '3') )
{
hasExt = true;
}
}
return hasExt;
}
static bool IsMultisampleFormat( HDC inDC, int inPixelFormat )
{
bool isMulti = false;
int atts[2] = {
WGL_SAMPLE_BUFFERS_ARB,
WGL_SAMPLES_ARB
};
int values[2];
if (wglGetPixelFormatAttribivARB( inDC, inPixelFormat, 0, 2,
atts, values ))
{
isMulti = (values[0] > 0) and (values[1] > 0);
}
return isMulti;
}
static int ChoosePixelFormatARB( HDC hdc, const int *piAttribIList )
{
UINT numFormats = -1;
int theFormat = 0;
if (wglChoosePixelFormatARB( hdc, piAttribIList, NULL, 1, &theFormat,
&numFormats ))
{
if (numFormats == 0)
{
theFormat = 0;
//DebugMsg("No multisample formats available");
}
else
{
if (not IsMultisampleFormat( hdc, theFormat ))
{
theFormat = 0; // not sure if this can happen
}
}
}
else
{
DWORD err = GetLastError();
char xmsg[100];
std::sprintf( xmsg, "wglChoosePixelFormatARB failed with error %X.",
err );
DebugMsg(xmsg);
}
return theFormat;
}
static int ChooseWinMultisampleFormat()
{
int theFormat = 0;
SetDummyGLContext();
if (not HasMultisample())
{
return theFormat;
}
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB =
(PFNWGLGETEXTENSIONSSTRINGARBPROC)
wglGetProcAddress("wglGetExtensionsStringARB");
if (wglGetExtensionsStringARB != NULL)
{
HDC theDC = GetDummyDC();
std::string extStr(" ");
extStr += (char*)wglGetExtensionsStringARB( theDC );
extStr += ' ';
if (extStr.find( " WGL_ARB_pixel_format " ) != std::string::npos)
{
wglChoosePixelFormatARB =
(PFNWGLCHOOSEPIXELFORMATARBPROC)
wglGetProcAddress( "wglChoosePixelFormatARB" );
wglGetPixelFormatAttribivARB =
(PFNWGLGETPIXELFORMATATTRIBIVARBPROC)
wglGetProcAddress( "wglGetPixelFormatAttribivARB" );
int atts[] =
{
WGL_SAMPLES_ARB, 4, // keep this first!
WGL_DOUBLE_BUFFER_ARB, GL_TRUE,
WGL_DRAW_TO_WINDOW_ARB, GL_TRUE,
WGL_SUPPORT_OPENGL_ARB, GL_TRUE,
WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB,
WGL_SAMPLE_BUFFERS_ARB, 1,
WGL_DEPTH_BITS_ARB, 24,
WGL_STENCIL_BITS_ARB, 8,
0, 0
};
theFormat = ChoosePixelFormatARB( theDC, atts );
if ( theFormat == 0 )
{
atts[1] = 2; // WGL_SAMPLES_ARB value
theFormat = ChoosePixelFormatARB( theDC, atts );
}
}
}
return theFormat;
}
--
James W. Walker, Innoventive Software LLC
<http://www.frameforge3d.com/>
|
|
From: Jose' C. <cru...@ce...> - 2007-12-12 08:06:18
|
Il giorno 12/dic/07, alle ore 01:17, James Walker ha scritto: > > The extra complication is mostly due to Windows. On Windows, in order > to get an appropriate function pointer, you must first get a function > pointer to wglChoosePixelFormatARB, and in order to get that, you must > already have an OpenGL context set up. So the typical routine would > involve creating a dummy window, getting the function pointer, > destroying the dummy window, and then proceeding to set up the window > you really want to use. I didn't want Quesa to get into the =20 > business of > creating and destroying windows. can you please post a code snippet of this, (mostly for documentation =20= purposes) Pax et Bonum # Dott. Jos=E9 Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,3923101 0372,460602 |
|
From: Jose' C. <cru...@ce...> - 2007-12-12 08:03:02
|
Il giorno 08/dic/07, alle ore 19:18, James W. Walker ha scritto: > I propose that we build a new release of Quesa. Should it be version > 1.9 or 2.0? > > Here's a draft list of changes. Additions or corrections are welcome. > > * New OpenGL renderer supporting stencil shadows, more than 8 lights, > emissive color attributes, and per-pixel lighting. It uses vertex > buffer objects (VBOs), display lists, and triangle strips for speed > optimization. > * New plug-in for 3DS file format. > * New hidden line renderer. > * Added support for hardware-accelerated pixmap draw contexts using > framebuffer objects (FBOs). > * New draw context options to sync drawing to refresh or put the > drawing surface behind the window. > * New HIQuesaView sample project illustrating use of Quesa in a Carbon > custom view. > * A single Mac framework that can support both Carbon and Cocoa > contexts. > * Improved support for partial ellipsoids and tori. > * New renderer option to indicate whether textures should be assumed > to have premultiplied alpha. > * Implemented group culling. > * Removed obsolete draw region functions. > * Added FSRef-based storage objects on the Mac. > * Added some utility algorithm sources. > > Excuse me, my time is vanishing away at the moment, but definitely =20 it's time to make a new release, and I'll call it 2.0 I'm trying to put the unix version in a 'compilable' state... give me =20= a week... Pax et Bonum # Dott. Jos=E9 Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,3923101 0372,460602 |
|
From: SourceForge.net <no...@so...> - 2007-12-12 07:40:21
|
Bugs item #902982, was opened at 2004-02-23 13:05 Message generated for change (Comment added) made by jwwalker You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=442052&aid=902982&group_id=45158 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Pending >Resolution: Fixed Priority: 5 Private: No Submitted By: Dair Grant (grantd) >Assigned to: James W. Walker (jwwalker) Summary: Support FSAA through arb_multisample Initial Comment: The kQ3AntiAliasModeMaskFullScreen style should be implemented with the arb_multisample extension where available (e.g., in Jaguar) rather than an ATI specific enum. This will let us support FSAA on both ATI and nvidia cards (and will also be portable, unlike the ATI enum). ---------------------------------------------------------------------- >Comment By: James W. Walker (jwwalker) Date: 2007-12-11 23:40 Message: Logged In: YES user_id=433183 Originator: NO There is now an implementation for the OpenGL renderer on Mac (Carbon) and Windows. It requires that the client supply the platform-dependent pixel format in a draw context property. ---------------------------------------------------------------------- Comment By: Michael Sullivan (imikey) Date: 2005-08-09 02:03 Message: Logged In: YES user_id=836812 This was discussed recently on the quesa-develop list and it was successfully implemented using a different technique than what was described in the original bug... ----------------------------------------------------- I took a shot at getting multisampling working after reading Apple"s FSAA technote (http://developer.apple.com/qa/qa2001/qa1268.html) and it turned out to be pretty easy. I added the following lines in gldrawcontext_mac_new() just before the AGL_DOUBLEBUFFER attribute is set: glAttributes[numAttributes++] = AGL_ACCELERATED; glAttributes[numAttributes++] = AGL_NO_RECOVERY; glAttributes[numAttributes++] = AGL_SAMPLES_ARB; glAttributes[numAttributes++] = (GLint)4; glAttributes[numAttributes++] = AGL_SAMPLE_BUFFERS_ARB; glAttributes[numAttributes++] = (GLint)1; Surprisingly, that was all that was necessary despite the fact that the technote stated that you needed to enable it with code such as: glEnable(GL_MULTISAMPLE_ARB); glHint( GL_MULTISAMPLE_FILTER_HINT_NV, GL_NICEST ); As far as I can tell, multisampling is more intensive in both time and memory than the GL_BLEND approach, but the results are quite excellent. [stuff deleted] On 31-Jul-2005, at 2:35 PM, James W. Walker wrote: > On Jul 31, 2005, at 6:33 AM, Mikey wrote: > >> The GL_POLYGON_SMOOTH code appears to be implemented by Quesa, but >> the other two functions don"t appear to get called unless you"re >> rendering transparent objects. Just to see what would happen, I >> added missing functions to my rendering code and the jaggies >> finally went bye-bye. Unfortunately, doing this introduces gaps >> between triangles because it starts blending all triangle edges, >> not just ones on the where it"s needed. >> >> Any ideas on how to add this type of blended anti-aliasing to Quesa? > > I don"t know about that type of antialiasing, but we do have an > open bug, 902982, suggesting that we do antialiasing a different > way, using GL_ARB_multisample. ----------------------------------------------------- On Aug 4, 2005, at 11:58 PM, Mikey wrote: > Does that mean we need to create a new type of style that"s for the > entire scene displayed in the window/full-screen? Or should this > be a draw context flag? A flag on the draw context or renderer would make more sense to me. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=442052&aid=902982&group_id=45158 |
|
From: James W. W. <os...@jw...> - 2007-12-12 03:44:10
|
On Dec 11, 2007, at 4:17 PM, James Walker wrote: > The extra complication is mostly due to Windows. On Windows, in order > to get an appropriate function pointer, you must first get a function > pointer to wglChoosePixelFormatARB, and in order to get that, you must > already have an OpenGL context set up. Oops, that should say "On Windows, in order to get an appropriate pixel format, you must..." > So the typical routine would > involve creating a dummy window, getting the function pointer, > destroying the dummy window, and then proceeding to set up the window > you really want to use. I didn't want Quesa to get into the > business of > creating and destroying windows. |
|
From: James W. <ja...@fr...> - 2007-12-12 00:17:31
|
I've added support for full-screen antialiasing via the OpenGL multisampling feature. It is implemented for Mac-Carbon and Windows in the OpenGL renderer and derived renderers. However, it's not quite as simple as submitting a kQ3AntiAliasModeMaskFullScreen style object. When setting up the draw context, you must provide a multisample-capable pixel format (by platform-dependent means) as an object property of type kQ3DrawContextPropertyGLPixelFormat. The extra complication is mostly due to Windows. On Windows, in order to get an appropriate function pointer, you must first get a function pointer to wglChoosePixelFormatARB, and in order to get that, you must already have an OpenGL context set up. So the typical routine would involve creating a dummy window, getting the function pointer, destroying the dummy window, and then proceeding to set up the window you really want to use. I didn't want Quesa to get into the business of creating and destroying windows. -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> |
|
From: James W. W. <os...@jw...> - 2007-12-08 18:18:48
|
I propose that we build a new release of Quesa. Should it be version 1.9 or 2.0? Here's a draft list of changes. Additions or corrections are welcome. * New OpenGL renderer supporting stencil shadows, more than 8 lights, emissive color attributes, and per-pixel lighting. It uses vertex buffer objects (VBOs), display lists, and triangle strips for speed optimization. * New plug-in for 3DS file format. * New hidden line renderer. * Added support for hardware-accelerated pixmap draw contexts using framebuffer objects (FBOs). * New draw context options to sync drawing to refresh or put the drawing surface behind the window. * New HIQuesaView sample project illustrating use of Quesa in a Carbon custom view. * A single Mac framework that can support both Carbon and Cocoa contexts. * Improved support for partial ellipsoids and tori. * New renderer option to indicate whether textures should be assumed to have premultiplied alpha. * Implemented group culling. * Removed obsolete draw region functions. * Added FSRef-based storage objects on the Mac. * Added some utility algorithm sources. |
|
From: James W. <ja...@fr...> - 2007-11-07 19:16:49
|
Interstudio wrote: >> OK, you have a custom attribute in the attribute set of a Polygon >> geometry. I'm not sure what you want to happen to it, but I can tell >> you what does happen. > > Thank you James. > > The custom attributes in this case are used to select elements. I > have 3D parametric objects that are displayed in the Quesa view. The > custom attribute contains information about the type of element, the > part of the element, the layer etc. > > When I click on the 3D view I get the polygon, extract the attribute > to know what original object I clicked. With a double click I can > open the dialog parameters and change them. I can drag the object in > the 3D view, generating on the fly a Quesa model of the object and > others operations. > > Sauro It sounds like your best bet is to keep the original Polygon version for picking and editing, and use the optimized TriMesh version just for rendering. -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> |
|
From: Interstudio <int...@in...> - 2007-11-07 18:15:47
|
>OK, you have a custom attribute in the attribute set of a Polygon >geometry. I'm not sure what you want to happen to it, but I can tell >you what does happen. Thank you James. The custom attributes in this case are used to select elements. I have 3D parametric objects that are displayed in the Quesa view. The custom attribute contains information about the type of element, the part of the element, the layer etc. When I click on the 3D view I get the polygon, extract the attribute to know what original object I clicked. With a double click I can open the dialog parameters and change them. I can drag the object in the 3D view, generating on the fly a Quesa model of the object and others operations. Sauro -- ----------------------------------------------------------------------------- _ ___ |_| __| Interstudio S.r.l. Tel + 39 0573 99291 Fax + 39 0573 992930 | |__ | Piazza Monteoliveto 6a http://www.interstudio.net |_____| I-51100 Pistoia Italy mailto:int...@in... ----------------------------------------------------------------------------- |
|
From: James W. W. <os...@jw...> - 2007-11-04 20:06:16
|
On Nov 3, 2007, at 5:35 AM, Sauro Agostini wrote: >> Where exactly is the custom attribute? Is it a vertex attribute, or >> does it belong to the attribute set of the geometry, or does it >> belong to a free-floating attribute set? > > > I'm sorry for taking so long to reply, but I were out of the office > for an expo. > > The custom attribute is added to the geometry similar to the follow > line of code > > Q3AttributeSet_Add > (myPolyData.polygonAttrubuteSet,customAttrubuteTipe,customAttribute) > > Thanks in advance, OK, you have a custom attribute in the attribute set of a Polygon geometry. I'm not sure what you want to happen to it, but I can tell you what does happen. RemoveExtraReferences : no change DecomposeGeometries : Each Polygon is replaced by one TriMesh with the same attribute set LowerAttributesToGeometries : Other attributes might be added to the attribute set, but the custom attribute should not be changed. FlattenHierarchy : No change. OptimizeTriMeshes: A TriMesh may be replaced by another TriMesh with the same attribute set. MergeTriMeshes: Some TriMeshes may be merged into a single TriMesh. The attribute set of the first TriMesh in the list being merged becomes the attribute set of the merged TriMesh. |
|
From: Sauro A. <sag...@in...> - 2007-11-03 12:35:18
|
>Where exactly is the custom attribute? Is it a vertex attribute, or >does it belong to the attribute set of the geometry, or does it >belong to a free-floating attribute set? I'm sorry for taking so long to reply, but I were out of the office for an expo. The custom attribute is added to the geometry similar to the follow line of code Q3AttributeSet_Add(myPolyData.polygonAttrubuteSet,customAttrubuteTipe,customAttribute) Thanks in advance, Sauro Agostini -- ----------------------------------------------------------------------------- _ ___ |_| __| Interstudio S.r.l. Tel + 39 0573 99291 Fax + 39 0573 992930 | |__ | Piazza Monteoliveto 6a http://www.interstudio.net |_____| I-51100 Pistoia Italy mailto:int...@in... ----------------------------------------------------------------------------- |
|
From: James W. W. <os...@jw...> - 2007-10-28 21:59:15
|
On Oct 28, 2007, at 12:35 PM, Stefan Huber wrote: > Using RayShadeRenderer Q3TriMesh_Submit causes a crash. > RayShadeRenderer decomposes Trimeshes into triangles. > Q3TriMesh_Submit submits TQ3TriMeshData and e3geom_trimesh_cache_new > wants TQ3TriMeshInstanceData (see below). > > Q3TriMesh_Submit: TQ3TriMeshData > E3TriMesh_Submit: TQ3TriMeshData > E3View_SubmitImmediate: void > e3view_submit_immediate_render: void > e3geometry_render: void > e3geometry_submit_decomposed: void > e3geom_trimesh_cache_new: TQ3TriMeshInstanceData > > Then in e3geom_trimesh_triangle_new, Q3AttributeSet_Inherit crashes. I have committed a fix. |
|
From: Stefan H. <st...@to...> - 2007-10-28 19:35:42
|
Using RayShadeRenderer Q3TriMesh_Submit causes a crash. RayShadeRenderer decomposes Trimeshes into triangles. Q3TriMesh_Submit submits TQ3TriMeshData and e3geom_trimesh_cache_new wants TQ3TriMeshInstanceData (see below). Q3TriMesh_Submit: TQ3TriMeshData E3TriMesh_Submit: TQ3TriMeshData E3View_SubmitImmediate: void e3view_submit_immediate_render: void e3geometry_render: void e3geometry_submit_decomposed: void e3geom_trimesh_cache_new: TQ3TriMeshInstanceData Then in e3geom_trimesh_triangle_new, Q3AttributeSet_Inherit crashes. Stefan http://www.topoi.ch |
|
From: James W. <ja...@fr...> - 2007-10-17 20:16:04
|
Jose' Cruanyes wrote: > Il giorno 17/ott/07, alle ore 18:08, James W. Walker ha scritto: > >> What compiler? If your compiler does not accept standard C++, >> perhaps you should get a better one. >> > > visual studio. even the last versione chokes on fairly consolidated C+ > + constructs :-( Oh, I thought I heard it was better. Remind me, does VS 2005 accept and/or/not? I try not to put those in Quesa code, but I can't seem to train myself. I'm still using CodeWarrior to compile for Windows, but since CodeWarrior is dead, I suppose I will need to find an alternative some day. -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> |
|
From: Jose' C. <cru...@ce...> - 2007-10-17 20:01:46
|
Il giorno 17/ott/07, alle ore 18:08, James W. Walker ha scritto: > What compiler? If your compiler does not accept standard C++, > perhaps you should get a better one. > visual studio. even the last versione chokes on fairly consolidated C+=20= + constructs :-( Pax et Bonum # Dott. Jos=E9 Cruanyes Aguilar - C.E. Soft srl # Pzza. Firenze,4 MILANO - XX Settembre 10, CREMONA # 02,3923101 0372,460602 |
|
From: James W. W. <os...@jw...> - 2007-10-17 16:08:52
|
On Oct 17, 2007, at 8:09 AM, Daniele Cavallini wrote: > I tried to compile for windows but I have some syntax error when > compiling. > Some "and" and "not" are simple to correct but > syntax error of > const TQ3TriMeshData& tmData( *tmPeek ); > in > MergeTriMeshList > are more hard What compiler? If your compiler does not accept standard C++, perhaps you should get a better one. |
|
From: Daniele C. <dca...@in...> - 2007-10-17 15:09:19
|
I tried to compile for windows but I have some syntax error when compiling. Some "and" and "not" are simple to correct but syntax error of const TQ3TriMeshData& tmData( *tmPeek ); in MergeTriMeshList are more hard James W. Walker ha scritto: > On Oct 12, 2007, at 1:07 AM, Daniele Cavallini wrote: > > >> Wow! Very good optimization. I try it and it is very fast result. >> They are good for windows,too? >> > > Yes, there is nothing platform-specific about it. > > > >> James W. Walker ha scritto: >> >>> On Oct 11, 2007, at 11:31 AM, Sauro Agostini wrote: >>> >>> >>> >>>>> DecomposeGeometries, like Q3Geometry_GetDecomposed, must be >>>>> called in >>>>> a submitting loop. When I tried it, I did it like this: >>>>> >>>>> >>>>> >>>> After this modification I have the same results as you, but with a >>>> collateral effect if there are some textures. >>>> >>>> The little textured 3DMF file shows the problem: >>>> >>>> http://wwww.interstudio.net/quesa/3wallTexture.zip >>>> >>>> Textures and shaders are applied to groups and it seems that >>>> DecomposeGeometries (or LowerAttributesToGeometries?) misses the >>>> textures, so after the optimization the model shows without >>>> textures. >>>> >>>> >>>> >>> It wasn't the textures that were missing, it was the UV coordinates. >>> Your model had shading UVs, and I was looking for surface UVs. I >>> have changed the merge functions to treat surface UVs and shading UVs >>> as interchangeable. >>> >>> --------------------------------------------------------------------- >>> ---- >>> This SF.net email is sponsored by: Splunk Inc. >>> Still grepping through log files to find problems? Stop. >>> Now Search log events and configuration files using AJAX and a >>> browser. >>> Download your FREE copy of Splunk now >> http://get.splunk.com/ >>> _______________________________________________ >>> Quesa-develop mailing list >>> Que...@li... >>> https://lists.sourceforge.net/lists/listinfo/quesa-develop >>> >>> >>> >> ---------------------------------------------------------------------- >> --- >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a >> browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> Quesa-develop mailing list >> Que...@li... >> https://lists.sourceforge.net/lists/listinfo/quesa-develop >> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Quesa-develop mailing list > Que...@li... > https://lists.sourceforge.net/lists/listinfo/quesa-develop > > |