Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
1244.
john
(19.06.2007 17:42)
0
"Печать списка содержимого папки в Windows" больше похожа на какой-то прикол. Долго смеялся :)))))
|
1243.
Nekrom@NT.grave
(18.06.2007 12:13)
0
См. книгу автора сайта "Графика трехмерной компьютерной игры на основе OpenGL" ещё gamedev.ru также советую почитать что-нибудь просто по архитектуре ПО. А вот ещё: статья была на Daily Telefrag посвященная архитектуре двигов. Дерзай!
|
1242.
Михаил
(16.06.2007 12:56)
0
Я тоже, а еще бы статью по структуре двига, тока не такой где всякие менеджеры в себя стрелками тычуть, а что-то более конкретное с названиями классов и небольшим описанием их обязанностей и функциональности :))).
|
1241.
Nekrom@NT.grave
(16.06.2007 12:27)
0
Жду не дождусь статьи по AO
|
1240.
Andrey
(15.06.2007 20:36)
0
В общем вот такие дополнительные опции для компиляции Cg шейдеров в GL_ARB_vertex_program можно ввести: "-DWorldViewProj=state.matrix.mvp", "-DWORLDVIEWPROJ=state.matrix.mvp", "-DProjection=state.matrix.projection", "-DPROJECTION=state.matrix.projection", "-DView=state.matrix.transpose.modelview[0]", "-DVIEW=state.matrix.transpose.modelview[0]", "-DWorld=state.matrix.transpose.modelview[0]", "-DWORLD=state.matrix.transpose.modelview[0]",
|
1239.
Andrey
(15.06.2007 19:40)
0
Алекс Боресков, ручная передача не работат, а вот если вместо WorldViewProj поставить state.matrix.mvp и не передавать матрицу руками то все ок! вот код: !!ARBvp1.0 # cgc version 1.5.0019, build date Feb 22 2007 06:27:05 # command line args: -q -profile arbvp1 -entry vsMain NumTemps=48 MaxInstructions=512 MaxAddressRegs=2 MaxLocalParams=256 #vendor NVIDIA Corporation #version 1.5.0.19 #profile arbvp1 #program vsMain #semantic DiffSampler #semantic ModelViewProjection : STATE.MATRIX.MVP #var float4 position : $vin.POSITION : POSITION : 0 : 1 #var float2 uv0 : $vin.TEXCOORD0 : TEXCOORD0 : 1 : 1 #var sampler DiffSampler : : : -1 : 0 #var float4x4 ModelViewProjection : STATE.MATRIX.MVP : c[1], 4 : -1 : 1 #var float4 vsMain.position : $vout.POSITION : HPOS : -1 : 1 #var float2 vsMain.uv0 : $vout.TEXCOORD0 : TEX0 : -1 : 1 PARAM c[5] = { program.local[0], state.matrix.mvp }; MOV result.texcoord[0].xy, vertex.texcoord[0]; DP4 result.position.w, vertex.position, c[4]; DP4 result.position.z, vertex.position, c[3]; DP4 result.position.y, vertex.position, c[2]; DP4 result.position.x, vertex.position, c[1]; END # 5 instructions, 0 R-regs в общем при компиляции шейдера под OpenGL нужно добавить макрос который заменяет семантику WorldViewProj на соотвествуюущие glstate и все!!! так что можно в Cg использовать полноценно glstate! Если я не ошибаюсь а register(c0); я поставил что-бы передавалось строго в 0 регистр. Так что можно взять это на заметку
|
1238.
Алекс Боресков
(15.06.2007 18:27)
0
Я - за OpenGL. Насчет богатства - в OpenGL все есть. Нет только объектных оберток и сревисных библиотек (типа работы с текстурами и т.п.). Готовых библиотек, подждерживающих OpenGL, - море, берите что нравится. А обертки - все равно обычно все пишут свое.
|
1237.
Agosh
(15.06.2007 16:56)
0
Здравствуйте! Очень интересный сайт, большое вам спасибо!! Подчерпнул много интересного для себя. Вот думаю что выбрать OpenGL или DX9? Первый простой но не богатый, а второй наоборот.
|
1236.
(15.06.2007 16:50)
0
Алекс Боресков,
в последней новости указана неправильная дата
|
1235.
Алекс Боресков
(15.06.2007 14:54)
0
Так работает или нет ? И нафиг : register(c0); ?
|
1234.
Andrey
(15.06.2007 13:27)
0
Алекс Боресков, ну ладно я то индекс стартовый делаю с 1 а не с 0. Если убрать WorldViewProj, то будет совершенно другой код. я заменил вот так: uniform float4x4 ModelViewProjection : register(c0); sosnaOpenGL.cg !!ARBvp1.0 # cgc version 1.5.0019, build date Feb 22 2007 06:26:18 # command line args: -profile arbvp1 # source file: sosnaOpenGL.cg #vendor NVIDIA Corporation #version 1.5.0.19 #profile arbvp1 #program vsMain #semantic DiffSampler #semantic ModelViewProjection : C0 #var float4 position : $vin.POSITION : POSITION : 0 : 1 #var float2 uv0 : $vin.TEXCOORD0 : TEXCOORD0 : 1 : 1 #var sampler DiffSampler : : : -1 : 0 #var float4x4 ModelViewProjection : C0 : c[0], 4 : -1 : 1 #var float4 vsMain.position : $vout.POSITION : HPOS : -1 : 1 #var float2 vsMain.uv0 : $vout.TEXCOORD0 : TEX0 : -1 : 1 PARAM c[4] = { program.local[0..3] }; MOV result.texcoord[0].xy, vertex.texcoord[0]; DP4 result.position.w, vertex.position, c[3]; DP4 result.position.z, vertex.position, c[2]; DP4 result.position.y, vertex.position, c[1]; DP4 result.position.x, vertex.position, c[0]; END # 5 instructions, 0 R-regs
|
1233.
Анонимус
(15.06.2007 08:52)
0
> И Кармак снова всех удивил И сказал, что пора делать OpenGL over DirectX
|
1232.
Алекс Боресков
(15.06.2007 08:19)
0
В сгенеренном ассемблере ошибка - DP4 считается начиная с индекса 1 (1,2,3,4), хотя должно начиная с 0. Может убрать : WorldViewProj; я не уверен, что он здесь вообще нужен (так как матрица передается явно)
|
1231.
Andrey
(14.06.2007 19:26)
0
Здравствуйте Алекс Боресков, посмотрите пожалуйста эту тему: http://www.gamedev.ru/code/forum/?id=66504 ну не могу понять где я ошибся. Спасибо заранее.
|
1230.
Михаил
(13.06.2007 22:05)
0
http://www.gametrailers.com/player.php?id=20463&type=wmv OpenGL жив! И Кармак снова всех удивил Id Tech 5 m/ :P Релиз под Макось http://quaket.net/news541.html
|
|
|
|