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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
#1

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

08.10.2013, 08:37. Просмотров 1774. Ответов 13
Метки нет (Все метки)

Делаю урок, но он для SDL 1.2, а во второй версии нету функции SDL_SetVideoMode(), и хоть я создаю окно, как переделать этот урок под версию 2.0, так и не понял. Везде искал, даже доков на официальном сайте не нашёл. Конкретно непонятно, как должны выглядеть функции drawPixel(), slock() и sulock().
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 08:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как на SDL 2 нарисовать пиксель? (C++):

Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2? - C++
В официальной доке как-то скомкано написано. При инициализации SDL TTF и при загрузке шрифта ошибок нет. Но текст на экране не...

Как ложно выводить на монитор битый пиксель? - C++
Здравствуйте!!! Сам я чайник ещё в программировании, но задался таким вопросом, с целью узнать, можно ли как нибудь, может программно...

Как правильно подключить библиотеку SDL - C++
Здравствуйте, подскажите, пожалуйста, как правильно подключить библиотеку SDL. Я пользуюсь компилятором Code::Blocks. При подключении...

Как подключить SDL 2.0 в проекте с CMake? - C++
Я использую IDE CLion. Я хочу подключить библиотеку SDL 2.0 в CMakeList.txt. Я прочитал, что CMake сам может искать библиотеки, но как и...

как подключить dll и lib SDL - C++
как подключить к проекту(в Visual Studio 2010) библиотеку SDL?// есть SDL.dll, SDL.lib и SDLmain.lib и еще папка с include'ами

SDL 2. Как правильно прилинковать/подключить к Visual Studio? - C++
Я пересмотрел много материалов по этой теме, но никакие из них мне не помогли. 1. Подключил инклуды. 2. Подключил либы (Файлы *.lib) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2013, 12:06 #2
Цитата Сообщение от Necronomicron Посмотреть сообщение
Конкретно непонятно, как должны выглядеть функции drawPixel(), slock() и sulock().
Как они описаны в уроке, не получается сделать?
Может, имеет смысл, использовать SDL 1.2?
Necronomicron
08.10.2013, 15:00  [ТС]
  #3

Не по теме:

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

alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2013, 23:01 #4
Цитата Сообщение от Necronomicron Посмотреть сообщение

Не по теме:

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

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

Не по теме:

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

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

Не по теме:

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



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

Не по теме:

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

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

Не по теме:

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

Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
09.10.2013, 23:31  [ТС] #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.

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

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 02:07
Привет! Вот еще темы с ответами:

Как внедрить графическую библиотеку SDL в Visual Studio 2012 - C++
Никогда не внедрял сторонних библиотек в Visual Studio. В инете поискал, но так ничего и не понял. Я вообще хочу подключить SDL 2.0 (качал...

Пиксель экрана - C++
а можно написать код, который смог бы сделать так, чтобы определенный пиксель экрана был, скажем, зеленого цвета? идеи сделать его битым не...

Проверка закрашен ли пиксель - C++
Необходимо приобразовать черно-белую картинку в массив, каждый черный пиксель в массиве 1 каждый белый 0. Подскажите плз в какую сторону...

C++ SDL - C++
Всем привет! Работал я значи в SDL, а потом что-то нажалось ил не нажалось и вообщем теперь, при компиляции любого(работающего,...


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

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

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