OpenGL in MASM32

Тема в разделе "WASM.OpenGL", создана пользователем Unknowed, 16 фев 2006.

  1. Unknowed

    Unknowed New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2005
    Сообщения:
    10
    Адрес:
    Ukraine
    Есть проблема. Для того, чтобы класть текстуры на модели зделал маленькую процедурку (типа генерация). Только как в masm32 объяснить машине, что Texture это GLUNIT?



    На всякий случай даю код:



    CreateTexture proc tWidth :lol: WORD,

    tHeight :lol: WORD,

    Format :lol: WORD,

    Data :lol: WORD

    .data

    Texture dd 0



    .code

    invoke glGenTextures,1,Texture

    invoke glBindTexture,GL_TEXTURE_2D,Texture

    invoke glTexEnvi,GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE ;Text ure blends with object background

    ; invoke glTexEnvi,GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL ;Textu re does NOT blend with object background



    invoke glTexParameteri,GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR

    invoke glTexParameteri,GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR



    .if Format == GL_RGBA

    invoke gluBuild2DMipmaps,GL_TEXTURE_2D,GL_RGBA,tWidth,tHeight,GL_RGB A,GL_UNSIGNED_BYTE,Data

    .else

    invoke gluBuild2DMipmaps,GL_TEXTURE_2D,3,tWidth,tHeight,GL_RGB,GL_UN SIGNED_BYTE,Data

    ; invoke glTexImage2D,GL_TEXTURE_2D,0,3,tWidth,tHeight,0,GL_RGB,GL_UN SIGNED_BYTE,Data ;Use when not wanting mipmaps to be

    ;built by openGL

    .endif



    return Texture



    CreateTexture endp
     
  2. Unknowed

    Unknowed New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2005
    Сообщения:
    10
    Адрес:
    Ukraine
    На первый раз зделал так. Только надо бы в .data объявить Texture как GLUNIT
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан




    Непонял? Кому что надо объяснить? GLUINT это обычный дворд.
     
  4. Unknowed

    Unknowed New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2005
    Сообщения:
    10
    Адрес:
    Ukraine
    Дворд не работает. Когда-то делал прогу, чтобы шарик переливался разными цветами. Там тоже паял, типа Texture dd 0. Но шарик не переливался. Хотя, когда заливал одним цветом, то чё-то работало.
     
  5. Unknowed

    Unknowed New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2005
    Сообщения:
    10
    Адрес:
    Ukraine
    Хотя, сам мог чё-то в коде начудить...
     
  6. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Unknowed







    Ага, а Win32 на самомо деле Win33.



    Мягко говоря, дворд работает, ищи багу.