|
Разработка 3D вижка
| |
| bedny | Дата: Среда, 05 Июл 2006, 11:13:35 | Сообщение # 61 |
 Майор
Группа: Пользователи
Сообщений: 66
Статус: Offline
| Так, ребят, я - Бедный, тот кто придумал Star Craft Realistic. Как вы знаете, он успешно разошёлся, но денег большинство участников за него не получило. буду очень рад работать с вами. вкратце изложу общую ситуацию (времени сейчас мало, в сети бываю редко): имеются 3 проекта 1. Star Craft Realistic 2. Графический движок уже на стадии тестирования, физика и баланс только "на бумаге". 2. Stroll Game Engine (http://stroll.h12.ru). Шароварный экшн от 1 лица, пока планируемый "от балды". В движке есть существенный сдвиги (бамп, шейдеры, мультитекстуры, тени и пр.). Может пригодиться. 3. Star Craft Realistic Final. В отличие от первого весит около 1.5 Гб (на 2 дисках). Есть новые кампании, переделана кое-где физика и баланс, улучшена анимация, добавлен новый сетевой режим. Ещё есть гоблинский перевод Периметра. Кому интересно - можно поучаствовать (Работа - не бей лежачего. перевести звук и текст, спародировать портреты героев). Последние 2 проекта надо в ближайщем будущем издать через Torum Media, на получку прожить до завершения остальных. Я предлагаю проекты 1, 2 и ваш объединить в проект Star Craft Tactics. Это будет что-то вроде Star Wars: Battlefront, но с возможностью играть и в режиме RTS. P. S. Кампании остро нуждаются в новых картах и озвучке.
Искренне Ваш Георгий Бедный
|
| |
|
|
| braza87 | Дата: Четверг, 06 Июл 2006, 21:03:23 | Сообщение # 62 |
|
Генерал-майор
Группа: Team Siege
Сообщений: 316
Статус: Offline
| честно сказать вот ниасилил как можно первые 2 и наш в 1 слить... обрисуй почетче что ли. но какой-то из твоих точно с нашим объединить нужно =)
|
| |
|
|
| Barbanel | Дата: Пятница, 07 Июл 2006, 02:22:25 | Сообщение # 63 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| Т. к. с господином bedny, связаться не удалось, пишу прямо тут: Бедный, надо побазарить.| Quote (bedny) | | 1. Star Craft Realistic 2. Графический движок уже на стадии тестирования, физика и баланс только "на бумаге". | Сори, про Реалистик только слышал, не видел даже. Реалистик 2 - надо посмотреть что это такое, или подробнее про него разузнать.| Quote (bedny) | | 2. Stroll Game Engine (http://stroll.h12.ru). Шароварный экшн от 1 лица, пока планируемый "от балды". В движке есть существенный сдвиги (бамп, шейдеры, мультитекстуры, тени и пр.). Может пригодиться. | Стролл. Почитал диз-док, опять сорри, но делать пародию на хз что - не интересно. Сам движок на Radeon X700 (P4 2Gh) показал 40-60 фпс. Маловато как-то, но мож я чего-то недопонял... Как эти 2 проекта обьединить с нашим - пока тож ниасилил, мож ты что-то подскажешь/предложишь. Но, по-любому побазарить надо, есть о чем.
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
|
| |
|
|
| braza87 | Дата: Пятница, 07 Июл 2006, 11:35:11 | Сообщение # 64 |
|
Генерал-майор
Группа: Team Siege
Сообщений: 316
Статус: Offline
| я вот тож реалистик вживую не видел, но слышал задоллго даж до этого проекта. респект =) п.с. я пока 20 дней еще буду иногда в инет вылазить с работы, апотом на 2 недели в полный оффлайн. и где-то 10го августа точсно опятиь буду в строю.
|
| |
|
|
| Barbanel | Дата: Пятница, 07 Июл 2006, 15:55:48 | Сообщение # 65 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| | Quote (braza87) | | на 2 недели в полный оффлайн. и где-то 10го августа точсно опятиь буду в строю. | Ок понял. Делай наброски, если какие появятся, или идеи по геймплею, все понадобится.
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
|
| |
|
|
| Navigator | Дата: Среда, 12 Июл 2006, 12:35:46 | Сообщение # 66 |
|
Сержант
Группа: Пользователи
Сообщений: 22
Статус: Offline
| а что с нашим движком , он какнибудь улучшился ???
|
| |
|
|
| Barbanel | Дата: Среда, 12 Июл 2006, 13:02:48 | Сообщение # 67 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| | Quote (Navigator) | | а что с нашим движком , он какнибудь улучшился ??? | К сожалению нет, не улучшился... Но есть надежда на лучшее Ведутся активные поиски и пробы других движков.
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
|
| |
|
|
| Maximsim | Дата: Среда, 19 Июл 2006, 23:30:40 | Сообщение # 68 |
 Сержант
Группа: Пользователи
Сообщений: 12
Статус: Offline
| Улутшится! ДЛЛ (будем так называть его, чтоб никто не возмущался)переписывается с нуля... -переписан класс работы с окном и ЖЛ -создается модуль для работы с 2D графикой ________________________________________________________________________ Готова (почти, на днях будет выложена )демка "МЕНЮ" написаная на "НАШЕЙ" ДЛЛ
|
| |
|
|
| Barbanel | Дата: Вторник, 01 Авг 2006, 03:56:35 | Сообщение # 69 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| Макс, если не секрет, что именно там за баги были? И почему решили переписать его? Спрашиваю, потому что я использую практически тот же класс, даже не класс, а пару процедур инициализирующих окно и OpenGL, и ни на какие баги пока не натыкался.Добавлено (01 Авг 2006, 4:56:35 Am) --------------------------------------------- Всем превед! Хочу порадовать новостью, что наш движок развивается. Недавно я приступил к работе над освещением и тенями, и уже есть некоторые результаты. Сейчас тружусь над прожекторами, уже могу рисовать световое пятно на любой модели, но пока не могу регулировать его размер и затухание с расстоянием. Верю, что все это преодолимо . ЗЫ скажу по секрету, что один человег предложил мне померяться пиписьками, т.е. примерно в 20-х числах августа сравнить 2 написанных к тому времени графических движка. Чтож, вызов принят и я уже приготовил линейку! Так что, болейте за меня!
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
Сообщение отредактировал Barbanel - Вторник, 25 Июл 2006, 18:54:57 |
| |
|
|
| Navigator | Дата: Пятница, 04 Авг 2006, 14:37:01 | Сообщение # 70 |
|
Сержант
Группа: Пользователи
Сообщений: 22
Статус: Offline
| Болеем!
|
| |
|
|
| Barbanel | Дата: Среда, 09 Авг 2006, 02:37:22 | Сообщение # 71 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| Люди!!! ХЕЛП!!! Программерам такой вопрос: Как правильно рассчитывать нормали на модели? Я считаю так: беру 3 вертекса полигона, считаю по ним нормаль (ф-ция расчета нормали правильная, без сомнений), эту нормаль присваиваю всем трем вершинам полигона. Дальше я беру следующий полигон, и все заново. В таком алгоритме есть один недостаток: если один и тот же вертекс входит в несколько полигонов, то значению нормали присваивается значение _последней_ вычисленной, (а на самом деле, кажется, надо посчитать значения всех нормалей этих нескольких полигонов, а потом усреднить.) Вот соббсно вопрос: как правильно это делать? Вот часть моего кода: | Code | Function getNormal(v1,v2,v3:TcVector3f):TcVector3f; var l1,l2:TcVector3f; length,iLength:real; begin l1[0]:=v2[0]-v1[0]; l1[1]:=v2[1]-v1[1]; l1[2]:=v2[2]-v1[2]; l2[0]:=v3[0]-v1[0]; l2[1]:=v3[1]-v1[1]; l2[2]:=v3[2]-v1[2]; result[0]:=l1[1]*l2[2]-l1[2]*l2[1]; result[1]:=l1[2]*l2[0]-l1[0]*l2[2]; result[2]:=l1[0]*l2[1]-l1[1]*l2[0]; length:=result[0]*result[0] + result[1]*result[1] + result[2]*result[2]; length:=sqrt(length); ilength:=1/length; result[0]:=result[0]*ilength; result[1]:=result[1]*ilength; result[2]:=result[2]*ilength; end; procedure MD5_UpdateNormals(m1:TPActor); var i,i1,i2,i3:integer; v1,v2,v3,norm:TcVector3f; begin // здесь: // ArrIndex - массив с индексами вершин // ArrVertex - массив самих вершин (их координат) // ArrTexture[i].Normal - сама нормаль в этой вершине i:=0; while i<m1.md5mesh.ArrIndexCount-2 do begin i1:=m1.md5mesh.ArrIndex[i]; i2:=m1.md5mesh.ArrIndex[i+2]; i3:=m1.md5mesh.ArrIndex[i+1]; v1:=m1.md5mesh.ArrVertex[i1]; v2:=m1.md5mesh.ArrVertex[i2]; v3:=m1.md5mesh.ArrVertex[i3]; norm:=getNormal(v1, v2, v3); m1.md5mesh.ArrTexture[i1].Normal:=norm; m1.md5mesh.ArrTexture[i2].Normal:=norm; m1.md5mesh.ArrTexture[i3].Normal:=norm; i:=i+3; end; end; | Господа программеры, ПЛИЗ ХЕЛП, работа стоит...
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
|
| |
|
|
| vr5 | Дата: Суббота, 12 Авг 2006, 00:58:08 | Сообщение # 72 |
 Майор
Группа: Team Siege
Сообщений: 86
Статус: Offline
| ну, вообще-то, то что ты говоришь действительно только для плоского освещения. нормаль нужно считать для каждой точки, и если точка входит в несколько полигонов, то для каждого полигона в отдельности, а потом усреднять
|
| |
|
|
| Barbanel | Дата: Суббота, 12 Авг 2006, 01:28:15 | Сообщение # 73 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| | Quote (vr5) | | вообще-то, то что ты говоришь действительно только для плоского освещения | Блин, да! Но тем не менее этот код дает что-то наподобии smooth shading. Но не совсем корректный. А мне нужен полноценный корректный smooth shading. Вот я и спрашиваю, как именно это лучше всего делать, малой кровью, так сказать.
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
|
| |
|
|
| Maximsim | Дата: Понедельник, 21 Авг 2006, 21:37:15 | Сообщение # 74 |
 Сержант
Группа: Пользователи
Сообщений: 12
Статус: Offline
| //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX procedure TObj.CalcFaceNormals; var i : Integer; wrki, vx1, vy1, vz1, vx2, vy2, vz2 : GLfloat; nx, ny, nz : GLfloat; wrkVector : TVector3D; wrkVector1, wrkVector2, wrkVector3 : TVector3D; wrkFace : TFace; begin GetMem(FaceNormal ,NumFace*SizeOf(TVector3D)); GetMem(VertexNormal,NumVertex*SizeOf(TVector3D)); NumVertexNormal:=NumVertex; NumFaceNormal:=NumFace; For i := 0 to NumFace - 1 do begin wrkFace := Face[i]; wrkVector1 := Vertex[Face[i].a] ; wrkVector2 := Vertex[Face[i].b] ; wrkVector3 := Vertex[Face[i].c] ; vx1 := wrkVector1.x - wrkVector2.x; vy1 := wrkVector1.y - wrkVector2.y; vz1 := wrkVector1.z - wrkVector2.z; vx2 := wrkVector2.x - wrkVector3.x; vy2 := wrkVector2.y - wrkVector3.y; vz2 := wrkVector2.z - wrkVector3.z; nx := vy1 * vz2 - vz1 * vy2; ny := vz1 * vx2 - vx1 * vz2; nz := vx1 * vy2 - vy1 * vx2; wrki := sqrt (nx * nx + ny * ny + nz * nz); wrkVector.x := nx / wrki; wrkVector.y := ny / wrki; wrkVector.z := nz / wrki; FaceNormal[i]:=wrkVector; end; end; //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX procedure TObj.CalcVertexNormals; var i, j ,shared: integer; Fac : tFace; length : single; VSum,VZero:TVector3D; begin for i:=0 to NumVertex- 1 do begin for j:=0 to 2 do begin VertexNormal[i].X :=0; VertexNormal[i].Y :=0; VertexNormal[i].Z :=0; end; end; VectorClear(vSum); VectorClear(VZero); Shared:=0; for I:=0 to NumVertex-1 do begin for J:=0 to NumFace-1 do if (Face[J].a = I) or (Face[J].b = I) or (Face[J].c = I) then begin VSum:=VectorAdd(VSum, FaceNormal[J]); Inc(Shared); end; VertexNormal[I]:=VectorDivide(vSum, Shared); VectorNormalize(VertexNormal[I]); vSum:=vZero; Shared:=0; end; end; //HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH Scene[MeshCount].Mesh.CalcFaceNormals; Scene[MeshCount].Mesh.CalcVertexNormals; ///Scene[MeshCount].Mesh.InitVBO;////////XA-XA-XA 
|
| |
|
|
| Barbanel | Дата: Вторник, 22 Авг 2006, 13:17:59 | Сообщение # 75 |
 Кара небесная
Группа: Администраторы
Сообщений: 705
Статус: Offline
| Алгоритм вычисления нормали для конкретного полигона я знаю, ты мне скажи как вычислить сглаженные нормали? Что-то вроде Smooth Shading. Хотя уже есть идеи.
Every cloud in the sky Every place that I hide Tell me what I, I was wrong to let you go...
|
| |
|
|
|