PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Linux » Не работает работа со графикой


Не работает работа со графикой

Сообщений 1 страница 11 из 11

1

Код выполняется, программа не вылетает но при отрисовке - ничего не происходит. Linux Debian. Быть может надо установить какие-то библиотеки? PureBasic 6.12.

0

2

Попробуй компильнуть с ключом gt в Library Subsystem.

0

3

Посмотри какие у тебя драйвера. Например встроенная видюха может пытаться выводить графику вместо основной, когда в компе две видюхи.

Ещё посмотрт это

Отредактировано AZJIO (22.04.2025 18:28:44)

0

4

Примеры тоже не работают?

0

5

пишет - Не найдена библиотека gt

0

6

Может qt? Подсистема... Ещё можно gtk2, но всё это не влияет на вывод 3D графики. Или нужна 2D графика?  Пример кода?

0

7

Код:
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)

0

8

Да, я написал gt вместо qt :(

Попробовал запустить ваш код на маке - выдает ошибку в строке StartDrawing(ScreenOutput())

[12:48:54] [ERROR] Line: 6
[12:48:54] [ERROR] There is no open screen.

Хелп советует не использовать эту функцию:
В Linux и OSX ScreenOutput() копирует весь экранный буфер обратно в основную память для выполнения операций 2D-рендеринга (OpenGL не разрешает прямой доступ к буферу). Поэтому рисование там на экране будет очень медленным и его следует избегать.

0

9

Я так соображаю о том,что надо ли будет ставить qt. Буду пробывать.

0

10

Ничего не помогло.

0

11

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() в начале забыл.
И вообще ты там ничего не рисовал. Примеров отрисовки на аглицком форуме полно.

+1


Вы здесь » PureBasic - форум » PureBasic для Linux » Не работает работа со графикой