forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_gfx (http://forum.boolean.name/showthread.php?t=6068)

odd 02.07.2008 03:26

Lib_gfx
 
Вложений: 1
Библиотека с некоторыми дополнительными графическими функциями.

Функции такие:

SetLineStyle(integer style) - Установка стиля для линий (0 - сплошная, 1 - пунктирная).

DrawTriangle(integer x1, integer y1, integer x2, integer y2, integer x3, integer y3) - Рисование треугольника

FillTriangle(integer x1, integer y1, integer x2, integer y2, integer x3, integer y3) - Закрашивание треугольника

SetDefaultFont - Установка шрифта по умолчанию

DrawString(string s, integer x, integer y, integer anchor) - Рисование строки с привязкой

WizardJIOCb 23.10.2008 22:02

Ответ: Lib_gfx
 
почему я не могу качать прикреплённые файлы, я подтвердил регу же, или сколько то сообщений нужно набрать?

Piligrim 23.10.2008 22:18

Ответ: Lib_gfx
 
ограничения нет. а не получается качать как? ссылки нет? или ошибку даёт?

odd 24.10.2008 06:47

Ответ: Lib_gfx
 
Забей. Если надо скачать - качай сразу сборник библиотек (у меня в подписи к сообщению ссылка). Там есть и все библиотеки и описания к ним.

odd 27.01.2010 18:18

Ответ: Lib_gfx
 
Вложений: 1
В библиотеку добавлена функция рисования линий произвольной толщины.

DrawBoldLine(x1, y1, x2, y2, b).

odd 03.02.2010 15:32

Ответ: Lib_gfx
 
Вложений: 2
Добавил функцию закрашивания произвольной замкнутой поверхности любым цветом.

Fill (x: integer; y: integer: r: integer; g: integer, b: integer)

Попробуйте, например такой пример:
PHP код:

Program IM;
Uses gfx;
begin
    SetColor
(000);
    
DrawLine(5515010);
    
DrawLine(15010170200);
    
DrawLine(1702006060);
    
DrawLine(60605105);
    
DrawLine(510555);
    
Fill(2020100120250);
    
Repaint;
    
Delay(10000);
end

Результат можно увидеть на скриншоте.

odd 12.06.2010 17:41

Ответ: Lib_gfx
 
Вложений: 3
Добавилась функция Draw_Transformed(im: image; x1: integer; y1: integer; x2: integer; y2: integer; x3: integer; y3: integer; x4: integer; y4: integer);
для вписывания текстуры в произвольный четырехугольник.
Порядок описывания углов четырехугольника показан на рисунке.

im_zorg 12.06.2010 20:42

Ответ: Lib_gfx
 
Ура, спасибо, odd, респект.

cherepets 16.06.2010 13:15

Ответ: Lib_gfx
 
функция скоростью не блещет. вариант Винта о игре типо дума отменяется, у меня 3 вызова полностью убивают производительность((

есть какой-нить вариант сбить качество и повысить производительность?

odd 18.06.2010 14:19

Ответ: Lib_gfx
 
Для Doom видимо придется писать другой алгоритм, более оптимизированный.
В Doom прямые 1-4 и 2-3 будут параллельны и притом перпендикулярны горизонту.
Это обстоятельство позволит намного сократить количество вычислений.

odd 24.06.2010 00:20

Ответ: Lib_gfx
 
Вложений: 1
По просьбе пользователя Igor добавил ещё одну функцию:

image
Transform(im: image; x1: integer; y1: integer; x2: integer; y2: integer; x3: integer; y3: integer; x4: integer; y4: integer)
Вписывание текстуры im в произвольный четырехугольник.
Порядок описи углов прямоугольника:
x1, y1 - правый нижний угол
x2, y2 - левый нижний угол
x3, y3 - левый верхний угол
x4, y4 - правый верхний угол

Пример:
PHP код:

Program gfx_test;
Uses gfx;
Var 
sizeinteger;
imImage;
Begin
    size
:=30;
    
im:=transform(LoadImage('/dollar.png'), sizesizesizesizesizesizesizesize);
    
DrawImage(im55);
    
DrawImage(im1010);
    
DrawImage(im1515);
    
Repaint;    
    
Delay(10000);
End

Более ускоренный алгоритм для игр типа DOOM пока в процессе.

cherepets 24.06.2010 11:04

Ответ: Lib_gfx
 
ну, польза и в таком виде есть)) например можно с помощью нее из прямоугольных текстур сделать стены для игр с изометрией :)

Igor 24.06.2010 12:15

Ответ: Lib_gfx
 
Цитата:

можно с помощью нее из прямоугольных текстур сделать стены для игр с изометрией :)
Кстати да. Только не вертикальные стены, а наклонные поверхности ландшафта
Огромное спасибо!

odd 25.06.2010 15:38

Ответ: Lib_gfx
 
Но над стенами я всё таки работаю. Нужно будет сделать алгоритм побыстрее.

Rock2roll 06.04.2012 22:56

Ответ: Lib_gfx
 
Уже 2 года работаешь...как все забивают


Часовой пояс GMT +4, время: 00:29.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot