Код выполняется, программа не вылетает но при отрисовке - ничего не происходит. Linux Debian. Быть может надо установить какие-то библиотеки? PureBasic 6.12.
Не работает работа со графикой
Сообщений 1 страница 11 из 11
Поделиться222.04.2025 16:12:24
Попробуй компильнуть с ключом gt в Library Subsystem.
Поделиться322.04.2025 18:25:20
Посмотри какие у тебя драйвера. Например встроенная видюха может пытаться выводить графику вместо основной, когда в компе две видюхи.
Ещё посмотрт это
Отредактировано AZJIO (22.04.2025 18:28:44)
Поделиться422.04.2025 22:43:11
Примеры тоже не работают?
Поделиться522.04.2025 22:44:10
пишет - Не найдена библиотека gt
Поделиться622.04.2025 23:15:57
Может qt? Подсистема... Ещё можно gtk2, но всё это не влияет на вывод 3D графики. Или нужна 2D графика? Пример кода?
Поделиться723.04.2025 05:18:29
InitSprite() InitMouse() ExamineDesktops() OpenScreen(DesktopWidth(0),DesktopHeight(0),24,"Шум.") Repeat StartDrawing(ScreenOutput()) Structure PIXEL Walue.a[3] EndStructure *Pixel.PIXEL=DrawingBuffer() *Overflow=*Pixel+ScreenHeight()*ScreenWidth()*3 While *Pixel<*Overflow *Pixel\Walue[0]=127-Random(1,0)+Random(1,0) *Pixel\Walue[1]=127-Random(1,0)+Random(1,0) *Pixel\Walue[2]=127-Random(1,0)+Random(1,0) *Pixel+SizeOf(PIXEL) Wend StopDrawing() FlipBuffers() ExamineMouse() ExamineKeyboard() Until KeyboardPushed(#PB_Key_All) Or Abs(MouseDeltaY())>0 Or Abs(MouseDeltaX())>0 Or MouseButton(#PB_MouseButton_Left )Or MouseButton(#PB_MouseButton_Middle)Or MouseButton(#PB_MouseButton_Right)
Не открывается даже полноэкранный режим вывода графики.
Отредактировано PSY (23.04.2025 05:18:59)
Поделиться823.04.2025 13:18:36
Да, я написал gt вместо qt
Попробовал запустить ваш код на маке - выдает ошибку в строке StartDrawing(ScreenOutput())
[12:48:54] [ERROR] Line: 6
[12:48:54] [ERROR] There is no open screen.
Хелп советует не использовать эту функцию:
В Linux и OSX ScreenOutput() копирует весь экранный буфер обратно в основную память для выполнения операций 2D-рендеринга (OpenGL не разрешает прямой доступ к буферу). Поэтому рисование там на экране будет очень медленным и его следует избегать.
Поделиться923.04.2025 22:59:45
Я так соображаю о том,что надо ли будет ставить qt. Буду пробывать.
Поделиться1025.04.2025 06:15:14
Ничего не помогло.
Поделиться1125.04.2025 18:04:45
InitSprite()
InitMouse()
InitKeyboard()
ExamineDesktops()
OpenScreen(DesktopWidth(0),DesktopHeight(0),24,"Шум.")
Repeat
StartDrawing(ScreenOutput())
; Structure PIXEL
; Walue.a[3]
; EndStructure
; *Pixel.PIXEL=DrawingBuffer()
; *Overflow=*Pixel+ScreenHeight()*ScreenWidth()*3
; While *Pixel<*Overflow
; *Pixel\Walue[0]=127-Random(1,0)+Random(1,0)
; *Pixel\Walue[1]=127-Random(1,0)+Random(1,0)
; *Pixel\Walue[2]=127-Random(1,0)+Random(1,0)
; *Pixel+SizeOf(PIXEL)
; Wend
Box(0,0,DesktopWidth(0),DesktopHeight(0),$7F7F7F)
StopDrawing()
FlipBuffers()
ExamineMouse()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
Всё что закомментированно отрисовывается одним Box. Никаких Qt не нужно. И InitKeyboard() в начале забыл.
И вообще ты там ничего не рисовал. Примеров отрисовки на аглицком форуме полно.