realbasic-nug
[Top] [All Lists]

Re: OpenGL & Parallels?

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: Re: OpenGL & Parallels?
From: Michael Diehr <md03 at xochi dot com>
Date: Fri, 29 Jun 2007 09:54:10 -0700
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug at lists dot realsoftware dot com
References: <CA238C3A-95DE-4492-A468-800FBF0D918C at xochi dot com> <36DD4B12-A47B-4109-9732-F64F779FECA9 at touchcad dot com> <65D797C8-BAE1-40FC-990D-2C9AEB2801EB at xochi dot com>
Solved the problem.   Turns out I was failing to set the global  
variable hdc properly -- I was using win.WinHWND, when I should have  
been using winGetDC(win.Handle).

I also changed the cDepthBits value to 24 in the createpixel format  
code, not sure if this matters or not.

In any case, it now works in Parallels 3... :)

FYI, there is a great windows OpenGL demo w/source code here:
   http://forums.realsoftware.com/viewtopic.php?t=9717

-mike

On Jun 29, 2007, at 9:12 AM, Michael Diehr wrote:

> I just tried RB3D and agree that it doesn't work in Parallels 3.
>
> Here is the OpenGL code that fails on widows under parallels 2.5  
> and 3.
> I'm using Open GL Declare Library 1.3.
>
>    If TargetWin32
>      pixFmt = newMemoryBlock(40)
>      pixFmt.short(0) = pixFmt.size//WORD  nSize;
>      pixFmt.short(2) = 1//WORD  nVersion;
>      pixFmt.long(4) = PFD_DRAW_TO_WINDOW + PFD_SUPPORT_OPENGL +
> PFD_DOUBLEBUFFER//DWORD dwFlags;
>      pixFmt.byte(8) = PFD_TYPE_RGBA//BYTE  iPixelType;
>      pixFmt.byte(9) = 24//BYTE  cColorBits;
>      //the following values are all ignored (cRedBits through
> cAccumAlphaBits)
>      pixFmt.byte(10) = 0//BYTE  cRedBits;
>      pixFmt.byte(11) = 0//BYTE  cRedShift;
>      pixFmt.byte(12) = 0//BYTE  cGreenBits;
>      pixFmt.byte(13) = 0//BYTE  cGreenShift;
>      pixFmt.byte(14) = 0//BYTE  cBlueBits;
>      pixFmt.byte(15) = 0//BYTE  cBlueShift;
>      pixFmt.byte(16) = 0//BYTE  cAlphaBits;
>      pixFmt.byte(17) = 0//BYTE  cAlphaShift;
>      pixFmt.byte(18) = 0//BYTE  cAccumBits;
>      pixFmt.byte(19) = 0//BYTE  cAccumRedBits;
>      pixFmt.byte(20) = 0//BYTE  cAccumGreenBits;
>      pixFmt.byte(21) = 0//BYTE  cAccumBlueBits;
>      pixFmt.byte(22) = 0//BYTE  cAccumAlphaBits;
>      //32 bit depth buffer
>      pixFmt.byte(23) = 32//BYTE  cDepthBits;
>      pixFmt.byte(24) = 0//BYTE  cStencilBits;
>      pixFmt.byte(25) = 0//BYTE  cAuxBuffers;
>      pixFmt.byte(26) = 0//BYTE  iLayerType;
>      pixFmt.byte(27) = 0//BYTE  bReserved;
>      pixFmt.byte(28) = 0//DWORD dwLayerMask;
>      pixFmt.byte(32) = 0//DWORD dwVisibleMask;
>      pixFmt.byte(36) = 0//DWORD dwDamageMask;
>
>      pixHandle = winChoosePixelFormat(hdc, pixFmt)
>
>      //check for errors
>      err = winGetLastError()
>      if err <> 0 then
>        msgBox "Error " + str(err) + " when attempting to create the
> pixel format..."
>      end if
>
>
> The code fails with error 6.  Maybe I'm using a pixel format that
> Parallels doesn't support?
>
>
>
> On Jun 28, 2007, at 12:17 AM, Lundstrom Design wrote:
>
>> RB3D does not work in the current version of Parallels (3.0). Worked
>> before, even though it was a bit slow. TouchCAD displays the window,
>> but no objects. On the OpenGL side, VectorWorks 12.5 for Windows does
>> not work, whereas a beta for a later version does work.
>>
>> /Claes Lundstrom
>>
>>
>>
>>
>> 27 jun 2007 kl. 19.02 skrev Michael Diehr:
>>
>>> Anyone out there have any luck testing OpenGL apps in Parallels?
>>> I've tried both Parallels 2.5 and 3.0 with Win XP SP2 and Vista, and
>>> although RB3D seems to work, I can't get straight OpenGL calls to
>>> work.  I get errors in the CreatePixelFormat step, and subsequent
>>> steps fail as well.  This is using the OpenGL 1.3 libraries.
>>> _______________________________________________
>>> Unsubscribe or switch delivery mode:
>>> <http://www.realsoftware.com/support/listmanager/>
>>>
>>> Search the archives:
>>> <http://support.realsoftware.com/listarchives/lists.html>
>>
>> _______________________________________________
>> Unsubscribe or switch delivery mode:
>> <http://www.realsoftware.com/support/listmanager/>
>>
>> Search the archives:
>> <http://support.realsoftware.com/listarchives/lists.html>
>
> _______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
>
> Search the archives:
> <http://support.realsoftware.com/listarchives/lists.html>

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>


<Prev in Thread] Current Thread [Next in Thread>