Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Закрытая тема
 
Опции темы
Старый 21.01.2008, 19:05   #31
JeSss
ПроЭктировщик
 
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Размытие...

эээм, вроде есть...
(Offline)
 
Старый 21.01.2008, 19:11   #32
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Размытие...

камера есть?
вообще давай код в студию.
(Offline)
 
Старый 21.01.2008, 19:17   #33
JeSss
ПроЭктировщик
 
Регистрация: 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
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Размытие...

это аццкийчтозанах.
1. где игровой цикл? Нафиг ты его впихнул в ф-ию? Лана, фиг с ним, пусть живет в фу-ии, но ее надо хотябы вызвать.
2. что это должно делать я так и не понял.
(Offline)
 
Старый 21.01.2008, 19:40   #35
JeSss
ПроЭктировщик
 
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Размытие...

Кароч я хачю вызвать Блур, но как, в чём проблема я писал, про чёрный экран(((
(Offline)
 
Старый 21.01.2008, 19:41   #36
Raiter
Гигант индустрии
 
Регистрация: 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
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Размытие...

Кароч я хачю вызвать Блур, но как, в чём проблема я писал, про чёрный экран(((
посмотри еще раз на свою программу внимательно. она ничего не делает.
(Offline)
 
Старый 21.01.2008, 19:47   #38
JeSss
ПроЭктировщик
 
Регистрация: 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
Raiter
Гигант индустрии
 
Регистрация: 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)
 
Сообщение было полезно следующим пользователям:
JeSss (21.01.2008)
Старый 21.01.2008, 20:56   #40
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Ответ: Размытие...

Райтер, ты скоро книгу Б.Мартузана "Подружись со мной, компьютер!" ему напишешь. Али "Выучи Блиц3Д за 21 день". ))
(Offline)
 
Сообщение было полезно следующим пользователям:
Raiter (21.01.2008)
Старый 21.01.2008, 21:25   #41
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: Размытие...

Это у них с ХолиДелом болезнь такая. Время от времени раскрывается и нубы пользуются симптомами
(Offline)
 
Старый 21.01.2008, 21:34   #42
JeSss
ПроЭктировщик
 
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Ответ: Размытие...

Raiter

Тамже нету эфекта размытия...
(Offline)
 
Старый 21.01.2008, 21:49   #43
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Размытие...

Человек просто не желает учить, он хочет сделать, а учить не хочет..
Или это стёб..
(Offline)
 
Старый 21.01.2008, 22:19   #44
JeSss
ПроЭктировщик
 
Регистрация: 05.08.2007
Сообщений: 115
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Размытие...

Это не стёб, и сделать я хачу, как только я сделал, у меня просто в углу появился квадратик и всё... некакова блура нет...
(Offline)
 
Старый 21.01.2008, 22:49   #45
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Размытие...

JeSss
Какое размытие ?
Какой рагдолл ?
Ты абсолютно не знаешь алгоритмики и спотыкаешся на элементарных вещах.
Еще одна такая тема (сложные вещи, в которых ты ни в зуб ногой) и буду ставить вопрос о удалении твоих тем.
Все равно толку никакого.
Еще раз требую: пройди простые уроки, разбери примеры, пойми что и как работает.
Не копируй код, не поняв его !

Raiter, HolyDel
Не пишите ему ни строчки кода, пока не освоит азов
Вы его развращаете.
Он же не думает совершенно, только попрошайничает.
__________________
(Offline)
 
Сообщение было полезно следующим пользователям:
Bagration (21.01.2008)
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размытие и CubeMap win32 3D-программирование 16 24.06.2007 16:05


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com