glRasterPos2f(0, vsize-13); glCopyPixels(0, 0, hsize, vsize, GL_COLOR); glFlush();Данный код вместо работы занимается ерундой, а именно портит изображение
Скоро можно будет отказаться от Borland С++ 3.1
		 Started By 
	гык-sse2
, сен 04 2010 14:50 
	
	
	
	
		45 ответов в теме
	
	
			
				
					
						
					
					#41
					
					
				
				
				
					
				
			
				
                                
					Опубликовано 26 Сентябрь 2010 - 17:24 
					
				
			
			
			
	
	Медведь громит каны!
				
				
				
			
				
			
				
					
						
					
					#42
					
					
				
				
				
					
				
			
				
                                
					Опубликовано 27 Сентябрь 2010 - 17:43 
					
				
			
			
			glPixelZoom(0.25, 1);Вопрос: откуда число 0.25?
Вопрос №2: почему копируется в режиме 256 оттенков серого, хотя куб красный?
Проблема не решена - так я копировал только четверть экрана.
glPixelZoom(0.25, 1); glRasterPos2f(0, vsize-13); glCopyPixels(0, 0, hsize*4, vsize, GL_COLOR); glFlush();Так копируется все, но очень медленно (<1fps) и без цвета.
Хотя при 1024*600 относительно приемлемо. Все-таки не должно быть циклического вывода в графических программах.
Вопрос о цвете остается актуальным.
По поводу производительности - попробую вернуть двойную буферизацию, т.к. сопирование с одного буфера на другой быстрее, чем в пределах одного. Если все равно будет медленно, значит, нужно изучать работу с текстурами.
Изменено: гык-sse2, 28 Сентябрь 2010 - 14:55
	
	Медведь громит каны!
				
				
				
			
				
			
				
					
						
					
					#43
					
					
				
				
				
					
				
			
				
                                
					Опубликовано 28 Сентябрь 2010 - 17:54 
					
				
			
			
			
					Нет, при больших размерах это был не тормоз, а невыделение памяти. Поделил экран пополам - все стало нормально.
					
					
					
				
				
				
				
				
								
				
					
	
	Медведь громит каны!
				
				
				
			
				
			
				
					
						
					
					#44
					
					
				
				
				
					
				
			
				
                                
					Опубликовано 29 Сентябрь 2010 - 16:10 
					
				
			
			
			
					Понял, что было с цветом и размером. glCopyPixels принял это за однобайтовый массив.
glReadBuffer и glDrawBuffer исправили и производительность, и цвет!)
					
					
					
				
				
				
				
				
								
				
					
	
	Медведь громит каны!
				
				
				
			
				
			
				
					
						
					
					#45
					
					
				
				
				
					
				
			
				
                                
					Опубликовано 06 Октябрь 2010 - 17:58 
					
				
			
			
			
					6.10.2010
Обновления. Добавлен цвет текста и текстового фона, исправлена прокрутка экрана при выводе текста, добавлен потокоподобный класс IOXtream с объектами Paztalom::cin и Paztalom::cout, поддержка rgb-цветов и стандартных констант, доделаны все стандартные цвета. Потеряна возможность проводить арифметические операции над цветами, т.к. теперь цвет - это тройная константа, изменена документация, приложен образец.
UPD 7.10.2010: добавлен инсталлятор для 64-битных версий Windows (спасибо Насте Песковой за предоставленную информацию о пути установки Visual Studio и системных библиотек на 64-битных системах)
	
					
					
				
				
				
				
								
				
					Обновления. Добавлен цвет текста и текстового фона, исправлена прокрутка экрана при выводе текста, добавлен потокоподобный класс IOXtream с объектами Paztalom::cin и Paztalom::cout, поддержка rgb-цветов и стандартных констант, доделаны все стандартные цвета. Потеряна возможность проводить арифметические операции над цветами, т.к. теперь цвет - это тройная константа, изменена документация, приложен образец.
#define BLACK 0,0,0
UPD 7.10.2010: добавлен инсталлятор для 64-битных версий Windows (спасибо Насте Песковой за предоставленную информацию о пути установки Visual Studio и системных библиотек на 64-битных системах)
Прикрепленные файлы:
Изменено: гык-sse2, 07 Октябрь 2010 - 17:06
	
	Медведь громит каны!
				
				
				
			
				
			
				
					
						
					
					#46
					
					
				
				
				
					
				
			
				
                                
					Опубликовано 04 Ноябрь 2010 -  9:45 
					
				
			
			
			
					Обновление 4.11.2010 (ко Дню народного единства):
Статистика:
	
					
					
				
				
				
				
								
				
					- обработка кнопки Backspace (упс, только под Mac OS X - как оказалось, скан-коды не совпадают) в cin и ptgets
 - disablerefresh() и enablerefresh() //не знаю, как объяснить для чего, поэтому привожу пример:
 
Статистика:
- Borland C++ 3.1 (640*480, under DOSBOX) - 00:09.88
 - Consolation (640*480, automatic refresh) - 00:26.08
 - Consolation (640*480, controlled refresh) - 00:01.77
 - Consolation (1600*900, automatic refresh) - 02:08.37
 - Consolation (1600*900, controlled refresh) - 00:03.47
 
Прикрепленные файлы:
Изменено: гык-sse2, 04 Ноябрь 2010 - 9:46
	
	Медведь громит каны!
				
				
				
			
				0 пользователей читают эту тему
0 пользователей, 0 гостей, 0 невидимых


				
			








