Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
quqeiqa
3 / 3 / 0
Регистрация: 22.01.2014
Сообщений: 38
1

WinAPI: Обновление графики

22.01.2014, 19:54. Просмотров 366. Ответов 0
Метки нет (Все метки)

Вот код на DevC++
(шаблон OpenGL-проектов)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
        if (PeekMessage (&msg, NULL, 0, 0, 0x0001))
        {
            if (msg.message == WM_QUIT)
            {
                bQuit = TRUE;
            }
            else
            {
                TranslateMessage (&msg);
                DispatchMessage (&msg);
            }
        }
        else
        {
            // Здесь обновляется графика:
            glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
            glClear (GL_COLOR_BUFFER_BIT);
            
            glPushMatrix ();
            glRotatef (theta, 0.0f, 0.0f, 1.0f);
            glBegin (GL_TRIANGLES);
            glColor3f (1.0f, 0.0f, 0.0f);   glVertex2f (0.0f, 1.0f);
            glColor3f (0.0f, 1.0f, 0.0f);   glVertex2f (0.87f, -0.5f);
            glColor3f (0.0f, 0.0f, 1.0f);   glVertex2f (-0.87f, -0.5f);
            glEnd ();
            glPopMatrix ();
 
            SwapBuffers (hDC);
 
            theta += 0.15f;
            Sleep (1);
        }

Вот тот же код на C#

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                        WinAPI.MSG msg = new WinAPI.MSG();
 
            if (WinAPI.PeekMessage(ref msg, IntPtr.Zero, 0, 0, 0x0001))
            {
                if (msg.message == (uint)WM.QUIT)
                {
                    Environment.Exit(0);
                }
                else
                {
                    WinAPI.TranslateMessage(ref msg);
                    WinAPI.DispatchMessage(ref msg);    
                }
            }
            else
            {
                        //Тут должная обновляться графика,
                        // но этот код недостижим и даже выхода не происходит
                Environment.Exit(0);
            }

В DevC++ графика обновляется и рисуется. В C# этот же блок кода недостижим.

1. Почему?
2. Что не так?
3. Как надо?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 19:54
Ответы с готовыми решениями:

Вывод на монитор графики, не используя WinAPI
Каким образом можно осуществлять работу с графикой и мультимедиа, не используя функции winapi? Не...

Графики (Нужно в VC++ построить графики...)
Нужно в VC++ построить графики...Двумерные и трехмерные...Не подскажете как?

Winapi - инициализация графики
Как с нуля через winapi открыть графику на весь экран? Плюс еще и не какую комп захочет, а какое...

Не работает обновление окна в С++ WinAPI
Есть одна программа, которая упорно не желает обновлять окно WM_PAINT. Вот сурс, я уже куда только...

Найти все функции f(x), графики графики которых проходт через точку В, если:
f'(x)=4{x}^{2}-9{x}^{-2}, B(3;-2)

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2014, 19:54

Не могу установить обновление KB2670838 (Обновление платформы для Windows 7)
Не могу установить обновление KB2670838(Обновление платформы для Windows 7). Запускаю .msu файл,...

Обновление базы и ошибка: Обновление невозможно. База данных или объект доступны только для чтения.
Помогите пожалуйста! asp не может обновить базу. Про ошибку говорит Microsoft OLE DB Provider for...

Обновление свойств компонентов на обновление состояния родителя
Компонент Clock отрисовывается 500 раз. Внутри тикает таймер и когда компонент один - все ОК....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru