Форум программистов, компьютерный форум CyberForum.ru

Как на SDL 2 нарисовать пиксель? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Necronomicron
 Аватар для Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
08.10.2013, 08:37     Как на SDL 2 нарисовать пиксель? #1
Делаю урок, но он для SDL 1.2, а во второй версии нету функции SDL_SetVideoMode(), и хоть я создаю окно, как переделать этот урок под версию 2.0, так и не понял. Везде искал, даже доков на официальном сайте не нашёл. Конкретно непонятно, как должны выглядеть функции drawPixel(), slock() и sulock().
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2013, 12:06     Как на SDL 2 нарисовать пиксель? #2
Цитата Сообщение от Necronomicron Посмотреть сообщение
Конкретно непонятно, как должны выглядеть функции drawPixel(), slock() и sulock().
Как они описаны в уроке, не получается сделать?
Может, имеет смысл, использовать SDL 1.2?
Necronomicron
08.10.2013, 15:00  [ТС]
  #3

Не по теме:

alsav22, и в чём этот смысл?

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2013, 23:01     Как на SDL 2 нарисовать пиксель? #4
Цитата Сообщение от Necronomicron Посмотреть сообщение

Не по теме:

alsav22, и в чём этот смысл?

Смысл в том, что известно: как и что делать, и библиотека урокам соответствует.
Не стоит гнаться за новым (тем более, без достаточного опыта), старое часто бывает не хуже.
Necronomicron
 Аватар для Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
09.10.2013, 02:00  [ТС]     Как на SDL 2 нарисовать пиксель? #5
alsav22, ну со старым всё понятно, меня интересует как раз SDL 2. Если бы устраивало 1.2, я бы просто не создавал тему.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.10.2013, 02:53     Как на SDL 2 нарисовать пиксель? #6
Цитата Сообщение от Necronomicron Посмотреть сообщение
меня интересует как раз SDL 2
В чём интерес?
Цитата Сообщение от Necronomicron Посмотреть сообщение
Если бы устраивало 1.2, я бы просто не создавал тему.
Чем не устроила?
Necronomicron
 Аватар для Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
09.10.2013, 02:55  [ТС]     Как на SDL 2 нарисовать пиксель? #7
alsav22, это важно? По-моему, это уже оффтоп.
alsav22
09.10.2013, 03:08
  #8

Не по теме:

Цитата Сообщение от Necronomicron Посмотреть сообщение
alsav22, это важно?
Важно, не важно... Интересно, ради чего люди мучаются.

Necronomicron
 Аватар для Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
09.10.2013, 03:10  [ТС]     Как на SDL 2 нарисовать пиксель? #9
alsav22, ну зачем учить Python, если есть Basic?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.10.2013, 03:17     Как на SDL 2 нарисовать пиксель? #10

Не по теме:

Цитата Сообщение от Necronomicron Посмотреть сообщение
alsav22, ну зачем учить Python, если есть Basic?
Тут другое. Разные языки - это не разные версии одной библиотеки.
Тут, на форуме, был код с SDL(не 2), в котором мне нужно было разобраться. И я доволно быстро понял, как там и что. Вчера и сегодня пробую, тоже самое, с SDL2. Одно раздражение. Поэтому и интересуюсь, для чего это вам нужно.



Добавлено через 1 минуту

Не по теме:

Вы, кстати, в какой среде работаете?

Necronomicron
 Аватар для Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
09.10.2013, 04:09  [ТС]     Как на SDL 2 нарисовать пиксель? #11
alsav22, VS Ultimate 2012.
alsav22
09.10.2013, 04:25
  #12

Не по теме:

В студии (у меня 10) заморочки с подсказками по этой (2.0) библиотеке. Если использовать то, что есть и в 1.2, то всё нормально (1-й скрин), если то, что во второй, то так (2-скрин). Код работает, но подсказок нет, потому что (если правильно понял) не видны объявления классов, присутствуют только предварительные декларации в хедерах. Сделать не получилось, отсюда и раздражение.

Necronomicron
 Аватар для Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
09.10.2013, 23:31  [ТС]     Как на SDL 2 нарисовать пиксель? #13
Разобрался сам (помогло):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    SDL_Renderer *renderer = SDL_CreateRenderer(screen, -1, SDL_RENDERER_ACCELERATED);
    SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, 0);
    while (true)
    {
        SDL_Event e;
        if (SDL_PollEvent(&e))
            if (e.type == SDL_QUIT)
                break;
        
        SDL_RenderClear(renderer);
        SDL_RenderCopy(renderer, texture, NULL, NULL);
        SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
        for (int i = 0; i < 400; i++)
            SDL_RenderDrawPoint(renderer, i, (i / 5 % 3 != 0) ? i : 480 - i);
        SDL_SetRenderDrawColor(renderer, 255, 255, 0, 255);
        SDL_RenderPresent(renderer);
    }
 
    SDL_DestroyTexture(texture);
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(screen);
Добавлено через 18 часов 47 минут

Не по теме:

alsav22, а вот и ответ на вопрос: затем, что теперь это делается одной встроенной функцией и не надо писать самому кучу кода, как это было в 1.2.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 02:07     Как на SDL 2 нарисовать пиксель?
Еще ссылки по теме:

SDL 2. Как правильно прилинковать/подключить к Visual Studio? C++
C++ Как подключить SDL 2.0 в проекте с CMake?
C++ Как ложно выводить на монитор битый пиксель?

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

Или воспользуйтесь поиском по форуму:
alsav22
10.10.2013, 02:07     Как на SDL 2 нарисовать пиксель?
  #14

Не по теме:

Цитата Сообщение от Necronomicron Посмотреть сообщение
затем, что теперь это делается одной встроенной функцией и не надо писать самому кучу кода, как это было в 1.2.
С этим не могу не согласиться. Но осадок остался...

Yandex
Объявления
10.10.2013, 02:07     Как на SDL 2 нарисовать пиксель?
Ответ Создать тему
Опции темы

Текущее время: 22:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru