|
3D-программирование Вопросы, касающиеся программирования 3D мира |
21.01.2008, 19:05
|
#31
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Размытие...
эээм, вроде есть...
|
(Offline)
|
|
21.01.2008, 19:11
|
#32
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Размытие...
камера есть?
вообще давай код в студию.
|
(Offline)
|
|
21.01.2008, 19:17
|
#33
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Размытие...
Держи:
Graphics3D 640,480,16,1
SetBuffer BackBuffer()
lit=CreateLight()
cub=CreateCube()
PositionEntity cub,0,500,0
EntityColor cub,0,355,0
cam=CreateCamera(cub)
; Делаем столб
stolb=CreateCube()
ScaleEntity stolb,1,4,1
PositionEntity stolb,-7,0,7
; Делаем столб
stolb2=CreateCube()
ScaleEntity stolb2,1,4,1
PositionEntity stolb2,7,0,7
;Функция создания слоя размытия, привязанного к камере - возвращает адрес слоя
Function createblurlayer(cam,z#,ang#,mgn#,bright#,alpha#,bmode,ord)
Local xres=GraphicsWidth()
Local yres=GraphicsHeight()
layer=CreateMesh(cam)
s=CreateSurface(layer)
;Вычисление координат текстуры
vx#=1.0*xres/texsize
vy#=1.0*yres/texsize
AddVertex s,-1,-1,0,0,0
AddVertex s,1,-1,0,vx#,0
AddVertex s,-1,1,0,0,vy#
AddVertex s,1,1,0,vx#,vy#
AddTriangle s,0,1,2
AddTriangle s,3,2,1
plan=CreatePlane()
EntityColor plan,0,0,255
PositionEntity plan,0,-1,5
PositionEntity cam,0,3,-5
bl=createblurlayer(cam,1,0,1,1,.95,1,o)
Repeat
If KeyHit(200) Then run=1-run
If Not(run=0) Then MoveEntity cub,0,-0.5,0
If KeyDown(208) MoveEntity cub,0,0,-.1
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
UpdateWorld
RenderWorld
Flip
bltex=updateblurlayer(bl,bltex)
Flip
Until KeyDown(1)
ScaleEntity layer,mgn#,mgn#,mgn#
EntityAlpha layer,alpha#
EntityBlend layer,bmode
col=255*bright#
EntityColor layer,col,col,col
EntityFX layer,1
EntityOrder layer,ord
Return layer
End Function
Function updateblurlayer(layer,tex)
If tex=0 Then tex=CreateTexture(texsize,texsize)
EntityTexture layer,tex
CopyRect 0,0,GraphicsWidth(),GraphicsHeight(),0,0,BackBuffer(),TextureBuffer(tex)
Return tex
End Function
End
|
(Offline)
|
|
21.01.2008, 19:35
|
#34
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Размытие...
это аццкийчтозанах.
1. где игровой цикл? Нафиг ты его впихнул в ф-ию? Лана, фиг с ним, пусть живет в фу-ии, но ее надо хотябы вызвать.
2. что это должно делать я так и не понял.
|
(Offline)
|
|
21.01.2008, 19:40
|
#35
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Размытие...
Кароч я хачю вызвать Блур, но как, в чём проблема я писал, про чёрный экран(((
|
(Offline)
|
|
21.01.2008, 19:41
|
#36
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Размытие...
;инициализируем графику
Graphics3D 800,600,32,1
;юзаем двойную буферизацию. для этого "рабочим" устанавливаем задний буфер
SetBuffer BackBuffer()
; тут можеш объявлять переменные, типы, грузить модели, создавать примитивы и т.д.
; глобальная переменная
Global Variable1
; тип
Type MyType1
Field X
End Type
; создаем примитив, камеру, свет
Cube = CreateCube()
Light = CreateLight()
Cam = CreateCamera()
; начало главного цыкла. В перводе звучит как "повторять".
; Тоесть весь код после этого слова будет непрерывно (точне до
; определенного уcловия,
; при котором выполнение прервётся) выполнятся
Repeat
; здесь будет основной код твоей игры
; мы можем вызвать ф-цию сдесь
Func1()
; рендерим нашу картинку
RenderWorld()
; меняем местами задний и передний буффер
Flip
; пока не нажата кнопка "Esc". конец цылка, выход с него,
; завершение програмы, короче хеппиенд :)
Until KeyDown(1)
; тут можеш писать функции
; объявляем ф-цию
Function Func1()
; тут код ф-ции
; закрываем ф-цию
End Function
Последний раз редактировалось Raiter, 21.01.2008 в 19:49.
|
(Offline)
|
|
21.01.2008, 19:45
|
#37
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Размытие...
Кароч я хачю вызвать Блур, но как, в чём проблема я писал, про чёрный экран(((
|
посмотри еще раз на свою программу внимательно. она ничего не делает.
|
(Offline)
|
|
21.01.2008, 19:47
|
#38
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Ответ: Размытие...
Сообщение от Raiter
;инициализируем графику
Graphics3D 800,600,32,1
;юзаем двойную буферизацию. для этого "рабочим" устанавливаем задний буфер
SetBuffer BackBuffer()
; начало главного цыкла. В перводе звучит как "повторять".
; Тоесть весь код после этого слова будет непрерывно (точне до
; определенного уcловия,
; при котором выполнение прервётся) выполнятся
Repeat
; здесь будет основной код твоей игры
; рендерим нашу картинку
RenderWorld()
; меняем местами задний и передний буффер
Flip
; пока не нажата кнопка "Esc". конец цылка, выход с него,
; завершение програмы, короче хеппиенд :)
Until KeyDown(1)
|
Впринцыпи понятно, но неочень..(
Можно в коде plzzzz
|
(Offline)
|
|
21.01.2008, 20:23
|
#39
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Размытие...
Вот!
;инициализируем графику
Graphics3D 800,600,32,1
;юзаем двойную буферизацию. для этого "рабочим" устанавливаем задний буфер
SetBuffer BackBuffer()
; тут можеш объявлять переменные, типы, грузить модели, создавать примитивы и т.д.
; ========================= П Е Р Е М Е Н Н Ы Е =========================
; глобальная переменная
Global Variable1
; ====================================================================
; ============================== Т И П Ы ===============================
; тип
Type MyType1
Field X
End Type
; ====================================================================
; =========================== О Б Ъ Е К Т Ы =============================
; создаем примитив - куб
Global Cube = CreateCube()
PositionEntity Cube,0,1,0
; создаем свет
Light = CreateLight()
; создаем камеру
Cam = CreateCamera()
; помещаем камеру немного сзади и сверху
PositionEntity Cam,0,5,-10
; создаем плоскость
Plane = CreatePlane()
; ставим для неё цвет
EntityColor Plane,0,0,255
; ====================================================================
; ================================ Г Л А В Н Ы Й Ц Ы К Л ===================
; начало главного цыкла. В перводе звучит как "повторять".
; Тоесть весь код после этого слова будет непрерывно (точне до
; определенного уcловия,
; при котором выполнение прервётся) выполнятся
Repeat
; здесь будет основной код твоей игры
; мы можем вызвать ф-цию сдесь
UpdatePlayer() ; вызываем ф-цию обновления игрока. ф-цию управления им
; рендерим нашу картинку
RenderWorld()
; меняем местами задний и передний буффер
Flip
; пока не нажата кнопка "Esc". конец цылка, выход с него,
; завершение програмы, короче хеппиенд :)
Until KeyDown(1)
; ======================================================================
; ================================= Ф У Н К Ц И И =====================
; тут можеш писать функции
; объявляем ф-цию
Function UpdatePlayer() ; ф-ция обновления игрока
; тут код ф-ции
If KeyDown(200) Then MoveEntity Cube,0,0,0.1 ; движение вперед
If KeyDown(208) Then MoveEntity Cube,0,0,-0.1 ; движение назад
If KeyDown(203) Then TurnEntity Cube,0,1,0 ; поворот влево
If KeyDown(205) Then TurnEntity Cube,0,-1,0 ; поворот вправо
; закрываем ф-цию
End Function
; =====================================================================
Последний раз редактировалось Raiter, 21.01.2008 в 20:28.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.01.2008, 20:56
|
#40
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Ответ: Размытие...
Райтер, ты скоро книгу Б.Мартузана "Подружись со мной, компьютер!" ему напишешь. Али "Выучи Блиц3Д за 21 день". ))
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.01.2008, 21:25
|
#41
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Ответ: Размытие...
Это у них с ХолиДелом болезнь такая. Время от времени раскрывается и нубы пользуются симптомами
|
(Offline)
|
|
21.01.2008, 21:34
|
#42
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Ответ: Размытие...
Raiter
Тамже нету эфекта размытия...
|
(Offline)
|
|
21.01.2008, 21:49
|
#43
|
Разработчик
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений (для 122 пользователей)
|
Ответ: Размытие...
Человек просто не желает учить, он хочет сделать, а учить не хочет..
Или это стёб..
|
(Offline)
|
|
21.01.2008, 22:19
|
#44
|
ПроЭктировщик
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Размытие...
Это не стёб, и сделать я хачу, как только я сделал, у меня просто в углу появился квадратик и всё... некакова блура нет...
|
(Offline)
|
|
21.01.2008, 22:49
|
#45
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Размытие...
JeSss
Какое размытие ?
Какой рагдолл ?
Ты абсолютно не знаешь алгоритмики и спотыкаешся на элементарных вещах.
Еще одна такая тема (сложные вещи, в которых ты ни в зуб ногой) и буду ставить вопрос о удалении твоих тем.
Все равно толку никакого.
Еще раз требую: пройди простые уроки, разбери примеры, пойми что и как работает.
Не копируй код, не поняв его !
Raiter, HolyDel
Не пишите ему ни строчки кода, пока не освоит азов
Вы его развращаете.
Он же не думает совершенно, только попрошайничает.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Размытие и CubeMap |
win32 |
3D-программирование |
16 |
24.06.2007 16:05 |
Часовой пояс GMT +4, время: 11:30.
|