Как сбацать OpenGL-ный баттон?

Тема в разделе "WASM.OpenGL", создана пользователем V_I_P_er, 15 май 2005.

  1. V_I_P_er

    V_I_P_er New Member

    Публикаций:
    0
    Регистрация:
    15 май 2005
    Сообщения:
    4
    Адрес:
    ParagWolzhsky
    Пишу МР3-плеер (к примеру), вместо кнопочек неплохо бы смотрелись вращающиеся OGL-сферки, но можно ли, и вообще, подскажите по этому поводу что-нибудь, пожалуйста.
     
  2. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Кнопки же маленькие? Поэтому делают просто какой-нибудь анимированный gif :derisive:
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Или просто цепочку картинок грузят в ImageList, создают таймер и в цикле их "анимируют". Это меньше десятка вызовов API, низкая загрузка системы и GL вообще не нужен :) А я думал, что только у MS возникают подобные сабжу идеи.
     
  4. _DEN_

    _DEN_ DEN

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

    Quantum



    А может он хочет в опциях положение источника света задавать :)
     
  5. V_I_P_er

    V_I_P_er New Member

    Публикаций:
    0
    Регистрация:
    15 май 2005
    Сообщения:
    4
    Адрес:
    ParagWolzhsky
    Я немного коряво сформулировал вопрос (за что и получил гору флуда!).В инете очень много сорцев с простейшими примерами- сферы, торы всякие, и даже (прости господи) чайники, или сразу серьёзные полноэкранные проги. А в прикладном окошечном программировании можно использовать OpenGL (многие задачи с его помощью, видимо, решить проще и эффективнее)? Попытка использовать контекст изображения не принесла плодов :dntknw:
     
  6. _DEN_

    _DEN_ DEN

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



    Какая разница-то, оконная реализация или фулскрин??? Блин, ставь WS_POPUP или WS_OVERLAPPEDWINDOW и радуйся жизни.







    Проще - возможно. Эффективнее - никак нет. Если не требуется прога "а ля 3D MAX", то GDI будет эффективнее. Всмысле рациональнее по ресурсам.
     
  7. Avalonec

    Avalonec New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    111
    Адрес:
    Тула
    V_I_P_er

    Ты хочешь ничего не изучая взять и прикрутить OpenGL. Тебе же придется реализовывать свой GUI. Поэтому проще и эффективнее, если ты не хочешь особо вникать, воспользоваться GDI.
     
  8. Barracuda

    Barracuda New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2003
    Сообщения:
    19
    Примерный способ решения (хотя OpenGL-кнопы - это бред имхо :))


    Код (Text):
    1.  
    2. dc = GetDC(...);
    3. /* заполняешь структуру PIXELFORMATDESCRIPTOR */
    4. ..
    5. ..
    6. ChoosePixelFormat(...);
    7. SetPixelFormat(...);
    8. wglCreateContext(...);
    9. wglMakeCurrent(...);
    10.  




    на выходе:
    Код (Text):
    1.  
    2. wglMakeCurrent(NULL, NULL);
    3. wglDeleteContext(...);
    4.  




    Рисовать можно где угодно, только контект получи.



    А вообще - RTFM ;)
     
  9. V_I_P_er

    V_I_P_er New Member

    Публикаций:
    0
    Регистрация:
    15 май 2005
    Сообщения:
    4
    Адрес:
    ParagWolzhsky
    Наконец-то пошла "крупная рыба" ;). Barracuda, настраивать диалог с ОГЛ я умею, ты подскажи вот что:



    Кнопка- то-же окно, только с предопределённым стилем (классом). Я смог создать регион- круг (эллипс, если угодно), и "натянул" на него прекрасную-распрекрасную сферу. Отдельным окном оно быть согласно, а ужиться в другом Main-окне в позорной роли кантрола ну никак не желает. Немогу предоставить (пока) нужную часть исходника, на рабочем компе нет с'ёмных носителей и инета.

    Может ли ОГЛ работать совместно с GUI ?
     
  10. Barracuda

    Barracuda New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2003
    Сообщения:
    19


    А какая разница для OpenGL, куда рисовать - в окно или на кнопку (эдит-бокс, куда угодно ещё)? Имхо - никакой.



    Для начала я советую попытаться сделать так, как я написал. Т.е. берём обычную кнопку, получаем её хендл, вызываем GetDC(my_button_handle) и т.д. (см. выше) Если не получится - будем думать дальше ;)



    Когда-то очень давно я тоже задался вопросом рисования в неглавном окне, тогда я выбрал edit-box, и всё рисовалось в этот эдит-бокс (машинка в 3d :))), а при нажатии на кнопки окошко мигало и мелькал текст, который был в эдит-боксе :lol: Так что и с кнопкой проблем быть, по-моему, не должно.
     
  11. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Угу, я тож хотел в кейген запихнуть ОГЛь
     
  12. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    tylerdurden

    Давно пора! И отправишь его на Assembly 2005 :)
     
  13. _DEN_

    _DEN_ DEN

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



    Не понт. Далеко не понт :) ogl каждый лох подцепить может :) Самый рулез - баттон на софтварном воксельном движке :)))
     
  14. Normal

    Normal New Member

    Публикаций:
    0
    Регистрация:
    11 май 2005
    Сообщения:
    7
    Какая-то странная структура у софтины ...

    Наверное пишешь драгндропом ?

    Хех ... Ну а CreatePipe не поможет ? Будет тебе твой контрол главным (у себя)

    $)
     
  15. V_I_P_er

    V_I_P_er New Member

    Публикаций:
    0
    Регистрация:
    15 май 2005
    Сообщения:
    4
    Адрес:
    ParagWolzhsky
    Насчет драгндропа- ты меня раскусил. CreatePipe? Я не хотел бы создавать лишний процесс, надеясь ограничиться написанием для дочернего окна персональной процедуры-обработчика нужных сообщений (б**, 2 раза писал и стирал слово прерываний).

    Разобрался я (почти), в чем былам трабла. Короче, проблема была офф-топик, мои извинения!
     
  16. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754