Dgame revived

Gan via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Feb 25 22:33:25 PST 2015


On Thursday, 26 February 2015 at 06:32:07 UTC, Gan wrote:
> On Thursday, 26 February 2015 at 03:17:32 UTC, stewarth wrote:
>> On Thursday, 26 February 2015 at 03:01:42 UTC, Rikki 
>> Cattermole wrote:
>>> On 26/02/2015 3:57 p.m., Gan wrote:
>>>> On Thursday, 26 February 2015 at 02:32:51 UTC, stewarth 
>>>> wrote:
>>>>>
>>>>>
>>>>> I'd also try hacking in Window.d directly to see if even 
>>>>> basic gl
>>>>> commands work, e.g. immediately after window and context 
>>>>> creation, try
>>>>> rendering a triangle then tweak the context initialisation 
>>>>> to see if
>>>>> it affects anything.
>>>>>
>>>>> It may help you track down exactly which part of the GL 
>>>>> setup is
>>>>> causing problems.
>>>>>
>>>>> Cheers,
>>>>> Stew
>>>>
>>>> I know almost nothing about OpenGL but using your 
>>>> method(sorta):
>>>> void reportGLErrors() {
>>>>   GLenum errCode;
>>>>   const GLubyte *errString;
>>>>   if ((errCode = glGetError()) != GL_NO_ERROR)
>>>>   {
>>>>       writeln("OPEN GL ERROR: ", errCode);
>>>>   }
>>>> }
>>>>
>>>> I get error code 1282 repeatedly.
>>>>
>>>> From a google search someone says:
>>>> "First, glGetError() will return 1282 - invalid operation if 
>>>> the GL
>>>> context is not current (or not yet created). So, create your 
>>>> context
>>>> first, then call glGetError. And, verify that any parent 
>>>> class or member
>>>> class does not call GL functions in their constructors or 
>>>> prior to
>>>> context being created."
>>>>
>>>> Can someone with more OpenGL knowledge clarify what this 
>>>> means?
>>>
>>> 1. Program starts
>>> 2. Window gets created
>>> 3. Context gets created
>>> 4. Context is activated
>>> 5. Profit???
>>>
>>> Basically before the context is created and activated you 
>>> cannot call any OpenGL functions. If you do, they will error 
>>> out.
>>>
>>> The bit about constructors ext. don't worry about it. Its 
>>> just about e.g. where the calls to OpenGL can exist.
>>
>> Yes, my bad sorry, but whatever works. The point is dive in 
>> and start printfing about in Window.d, checking error codes to 
>> try and figure out where things become stuffed up.
>>
>>
>> Cheers,
>> Stew
>
> I did what you suggested. I added a bunch of writeln and 
> reportGLErrors. These are the results:
> glMatrixMode(GL_PROJECTION);
> OPEN GL ERROR: 1282
>
>
>
> glLoadIdentity();
> OPEN GL ERROR: 1282
>
>
>
> glShadeModel(GL_FLAT);
> OPEN GL ERROR: 1282
>
>
> glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
> OPEN GL ERROR: 1280
>
>
> glHint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST);
> OPEN GL ERROR: 1280
>
>
> glOrtho(0, vMode.width, vMode.height, 0, 1, -1);
> OPEN GL ERROR: 1282
>
>
> Each error happens after each line is called. I'm not sure why 
> this happens or what it means.

According to docs: 1280 is GL_INVALID_ENUM


More information about the Digitalmars-d-announce mailing list