Перейти к содержимому


Фото

Проблема с С++


  • Чтобы отвечать, сперва войдите на форум
31 ответов в теме

#21 гык-sse2 Опубликовано 31 Август 2010 - 11:57

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев
А какие-то стандартные средства бывают? Ну, встроенные, которые, как glut, уже присутствуют в системе? А то обычно кроссплатформенность создает тормоза ЗЫ: раньше думал, что SDL не связан с OpenGL, не использует аппаратное ускорение и используется только в линуеск и программах, с него портированных...
Медведь громит каны!

#22 KiberGus Опубликовано 31 Август 2010 - 14:40

KiberGus
  • Genius loci
  • 6 561 Сообщений:
  • Алексей Гусейнов

А какие-то стандартные средства бывают? Ну, встроенные, которые, как glut, уже присутствуют в системе?
А то обычно кроссплатформенность создает тормоза



ЗЫ: раньше думал, что SDL не связан с OpenGL, не использует аппаратное ускорение и используется только в линуеск и программах, с него портированных...

glut отнюдь не стандартный и не присутсвует в системе по-умолчанию. Разработан для изучения OpenGL, для серьезного применения он не был предназначен.
Тормоза, приносимые кроссплатформанными средствами весьма малы, более того, если писать грамотно, то замедления можно избежать вовсе. Для этого есть условная компиляция. Да и современные компьютеры позволяют.

SDL поддерживает как собственный 2D рендерер, так и инициализацию OpenGL и OpenGL ES контекстов. Несколько строк и получаешь контекст и работаешь с ним напрямую, промежуточных уровней (и тормозов) нет. Работает SDL под подавляющим большингством операционок.
Зато, обладая единственной в мире подводной орбитальной группировкой спутников глонасс...
gentoo.gif

#23 гык-sse2 Опубликовано 31 Август 2010 - 16:55

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев

glut отнюдь не стандартный и не присутсвует в системе по-умолчанию.

Смотря о какой системе говорить. Я говорю о Mac OS X, в ней глут есть.
Попробую перенести на SDL.
Медведь громит каны!

#24 гык-sse2 Опубликовано 01 Сентябрь 2010 - 16:40

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев

Смотря о какой системе говорить. Я говорю о Mac OS X, в ней глут есть.
Попробую перенести на SDL.

Гибрид SDL/GLUT прокатил. Текст выводит, например, глут, а цикл сам пишу.
Медведь громит каны!

#25 гык-sse2 Опубликовано 03 Сентябрь 2010 - 17:58

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев
Проблема. unicode/ascii всегда равен 0.
char getch () {
	SDL_Event event;
	SDL_WaitEvent(&event);
	while (event.type!=SDL_KEYDOWN)
		SDL_WaitEvent(&event);	
	cout<<uint32_t(event.key.keysym.scancode)<<" "<<uint32_t(event.key.keysym.unicode)<<" "<<endl;
	return event.key.keysym.unicode;//&0x7f;
}
Не важно, включен ли Unicode. Все равно 0. Вообще-то было изначально do SDL_WaitEvent(&event); while (event.type!=SDL_KEYDOWN);
SCAN-код определяется верно.
Медведь громит каны!

#26 гык-sse2 Опубликовано 04 Сентябрь 2010 - 12:59

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев
Проблема решена и заключалась в том, что SDL_EnableUNICODE(SDL_Enable); стояло перед SDL_Init
Медведь громит каны!

#27 Sergey.Ryzhiy Опубликовано 04 Сентябрь 2010 - 19:55

Sergey.Ryzhiy
  • Свои
  • 1 Сообщений:
  • Сергей Рыжий

Если кому то интересно то проблема все же решилась. Причем и на XP и на Vista. Правда это все равно только для DosBox, но работает.
Вместо initgraph(&gd,&gm,"BGI") надо писать initgraph(&gd,&gm,"..//BGI")
Зачем я не знаю. Так написано в папке examples :) Работает.


Всё очень просто: этот третий параметр - папка, в которой находится драйвер (и шрифты до кучи). Можно ничего не указывать, если все нужные файлы лежат в той же папке, что и ваша прога. На сколько я помню, файлик называется egavga.bgi. Конструкция getenv("BGI") означает лишь, что путь нужно взять из переменной окружения с именем BGI (видимо при установке BC он прописывал её в autoexec.bat, но про это я не знаю, не устанавливал ни разу, всегда просто копировал). Судя по тому, что написав "..//BGI" у вас всё заработало - вы запускаете программу в папке типа bc\myprogs\. И кстати, в данном случае было бы правильно писать через обратные слэши: "..\\BGI". А двойной он потому, что обратный слэш - спецсимвол, и для того, чтобы в строчке его написать, нужно поставить его дважды.

#28 гык-sse2 Опубликовано 05 Сентябрь 2010 - 4:38

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев

Судя по тому, что написав "..//BGI" у вас всё заработало

"Все" (т.е. программа) написало "..//BGI" или все-таки программист? Деепричастный оборот не к тому относится. Популярная ошибка, о которой вчера говорила Елена Юрьевна.

Про символ / - он пришел из юникса, но он тоже работает, проверено при портировании с XCode на BC или VS.
Медведь громит каны!

#29 GrGr Опубликовано 06 Сентябрь 2010 - 14:16

GrGr
  • Свои
  • 2 293 Сообщений:
  • Григорий Григорьев
Мы в свое время эту проблему решали так - копировали файл egavga.bgi в каталог, куда линковался исполняемый файл ;)
А потом пришел злобный Гр и все опошлил...

#30 Р.А. Опубликовано 20 Октябрь 2010 - 7:11

Р.А.
  • Свои
  • 173 Сообщений:
  • Артемий Волков
имо проще абсолютный путь к egavga.bgi писать %)
Вспоминаю споры, возбужденные статьей, которая как раз тогда появилась
в одном вызывающем журнальчике. Там подсчитывалось, сколько раз за неделю
американские мужчины в постели делом занимаются, - по разным
профессиональным категориям подсчеты велись. И оказалось, что тут никому не
угнаться за пожарными, те по десять раз еженедельно. А хуже всех
университетские преподаватели, эти хорошо если раз в месяц раскачаются.
Посмотрел статейку один мой однокурсник - его, беднягу, потом на второй
мировой войне ухлопали, - покачал грустно головой и говорит: "Черт, да я бы
все отдал, чтоб поскорей преподавателем стать".
©

#31 гык-sse2 Опубликовано 20 Октябрь 2010 - 9:35

гык-sse2
  • Свои
  • 377 Сообщений:
  • Михаил Беляев

имо проще абсолютный путь к egavga.bgi писать %)

Абсолютный? А если программу скопировали на другой диск? А если на машине нет борланда?
Медведь громит каны!

#32 Р.А. Опубликовано 20 Октябрь 2010 - 10:26

Р.А.
  • Свои
  • 173 Сообщений:
  • Артемий Волков

Абсолютный? А если программу скопировали на другой диск? А если на машине нет борланда?


Значит, это правильная машина.
/topic

Изменено: Р.А., 20 Октябрь 2010 - 10:26

Вспоминаю споры, возбужденные статьей, которая как раз тогда появилась
в одном вызывающем журнальчике. Там подсчитывалось, сколько раз за неделю
американские мужчины в постели делом занимаются, - по разным
профессиональным категориям подсчеты велись. И оказалось, что тут никому не
угнаться за пожарными, те по десять раз еженедельно. А хуже всех
университетские преподаватели, эти хорошо если раз в месяц раскачаются.
Посмотрел статейку один мой однокурсник - его, беднягу, потом на второй
мировой войне ухлопали, - покачал грустно головой и говорит: "Черт, да я бы
все отдал, чтоб поскорей преподавателем стать".
©




1 пользователей читают эту тему

0 пользователей, 1 гостей, 0 невидимых