#1
27 февраля 2007 в 08:30
Как и обещал,приступил вплотную к работе над сабжем<br />Вот что в целом сделано (тут всё в куче, в т.ч. мелочи):<br /><br />- Версия в консоли "Berserker@Quake3"<br />- Программа называется Q3Bers.exe<br />- Убрал поддержку не-x86 процессоров, A3D звука, старых видеочипов.<br />- Поддержка GL_EXT_texture_edge_clamp (fixed bug: щели в skyboxes)<br />- Поддержка доп.текст.компрессии: r_ext_compressed_textures = 0,1...5<br />- Убил "r_logFile" и логирование OGL<br />- Убил "r_measureOverdraw" ибо нефиг занимать stencil buffer!<br />- Убил "r_colorbits" ибо всегда нужен 32-битный цвет окна! (UI.colorbits IGNORE!)<br />- Убил "r_stencilbits" ибо всегда нужны 8-бит!<br />- Убил "r_depthbits" ибо всегда нужны 24-бита!<br />- Убил "r_glDriver" ибо всегда юзаем только OGL! (UI.driver IGNORE!)<br />- Убил "r_lastValidRenderer" ибо всегда юзаем только OGL!<br />- Убил "r_allowExtensions" ибо попикселке всегда нужны екстеншены (UI.allow_exts IGNORE!)<br />- Убил "r_shadows" и код теней от Кармака, ибо будут свои тени.<br />- Убил "r_ext_multitexture" ибо все равно 1-конвейерных видеокарт не не найти :D<br />- Убил "r_primitives" ибо нефиг извращаться, рендерим самым быстрым способом. :D<br />- Убил "r_nobind" ибо бесполезно<br />- Убил "r_skipBackEnd" ибо бесполезно<br />- Убил "r_norefresh" ибо бесполезно<br />- Убил "r_showImages" ибо бесполезно<br />- Убил "r_dlightBacks" ибо не юзается нигде<br />- Убил "r_ext_gamma_control" ибо не юзается нигде<br />- Убил "r_ignore" ибо не юзается нигде<br />- Убил "r_drawSun" ибо не юзается нигде<br />- Убил "r_showSmp" и "r_smp" - кривую поддержку dual processor<br />- Убил "r_nocull"<br />- Убил "r_novis"<br />- Убил streamed-функции, ибо они и так не работают.<br />- Убил "r_vertexLight" ибо на современных видеочипах и с lightmap быстро<br />- Убил "r_fullbright" ибо некрасиво, а приросту скорости нет.<br />- Убил "r_lightmap" ибо выигрыша скорости нет<br />- Убил "fs_restrict" ибо нафик нам поддержка демо версий<br />- "r_textureMode" теперь по дефолту равен "GL_LINEAR_MIPMAP_LINEAR"<br />- "qconsole.log" переименован в "q3b_console.log"<br />- "q3config.cfg" переименован в "q3b_config.cfg"<br />- "software acceleration" переименован в "software emulation"<br />- Сделал кэширование вызовов glColor*** и glBindProgramARB<br />- fixed: в Q3 проверялось только EXT_texture_env_add, игнорировалось ARB_texture_env_add<br />- поддержка анизотропной фильрации: "r_ext_texture_filter_anisotropic (0 [0/1])" и "r_anisotropic (2 [2...max])"<br />- поддержка lod_bias: r_ext_texture_lod_bias (0 [0/1]), r_texture_lod (0 [-0.7...0])<br />- проверка на обязательное наличие ARB_vertex_program/ARB_fragment_program (maxTextureImageUnits>=8), ARB_texture_cube_map, EXT_texture3D<br />- проверка на GL_EXT_draw_range_elements ("r_ext_draw_range_elements")<br />- "r_ext_stencil_wrap" (def=1), "r_ext_stencil_two_side" (def=1), "r_ati_separate_stencil" (def=1)<br />- "r_arb_vertex_buffer_object" (def=1)<br />- убрал "ugly hack to work around a GeForce driver..." в DrawMultitextured, ибо imho этого бага уже нет.<br />- "r_printPrograms" - печатает какие программы загружаются.<br />- "programlist" - печатает список программ<br />- в папке glprogs обязательно д.б. хоть один файл с программами (_internal.vfp уже есть)<br />- "imagelist" доп. печатает размерность текстуры - 1D/2D/3D/CUBE<br />- Убил поддержку динамичных lights, т.к. будут свои.<br />- Убил "r_dynamiclight"<br />- Игнорируем (пока) вызовы CG и UI, связанные с динам.lights:<br /> CG_R_ADDADDITIVELIGHTTOSCENE<br /> CG_R_ADDLIGHTTOSCENE<br /> UI_R_ADDLIGHTTOSCENE<br />- Убил "r_speeds=4" - статистика динам.lights<br />- Убил частично "r_speeds=1" (в части замера overdraw)<br />- "r_ignoreFastPath" теперь по умолчанию = 0<br />- "r_ignoreFastPath" необоснованно требовал рестарта<br />- Убил "multitexture_decal"-ветки, ибо не используются<br />- За счет перевода обычного Q3-рендера на fragment programs, избавились от вызовов GL_TexEnv<br />- Сделал эмуляцию glClipPlane при прорисовке порталов и зеркал (glClipPlane все равно не работают с vertex programs).<br />- Убил FLARES, которые тоже не работали в Ку3:<br /> - убил "r_speeds=6" - flares<br /> - убил r_flareSize, r_flareFade, r_flares<br /><br />За счет выноса лишнего кода EXE полегчал на 40 килобайт и немного вырос FPS.<br />Прога полностью поддерживает моды, например Team Arena.<br />Скоро начну прикручивать попикселку ;)
#2
27 февраля 2007 в 08:35
отлично <br />флаеры тоже свои сделаешь?
#3
27 февраля 2007 в 09:47
Все правильно. Смыл с физиономии сурса лишнюю косметику, ввиду очевидного устаревания, ну и опять же - для удобства работы...<br />Теперь нужно думать над адаптацией шейдеров к попикселке. ::)
#4
27 февраля 2007 в 10:04
штош,давно не брал я в руки рокет...по случаю намедни приобрел квакосборник.поставил ку3 и пошел,так сказать,осмотреть местность.Берсеркер,а ХДР буш внедрять?ща везде его тулят,и смотриццо так очень даже кульно!:)
#5
27 февраля 2007 в 11:32
Будет всё в порядке очереди, строго после попикселки :)
#6
27 февраля 2007 в 11:37
Flare-код просто закомментировал, в будущем заюзаю. Солнце возьму от Q2Bers
#7
27 февраля 2007 в 18:38
Берсеркер<br />а в будущем поддержка мультьипроцессорности появится?<br /><br />
Версия в консоли "Berserker@Quake3"<br />А можешь плюс к этому ещё им номера билдов\версий писать? ИМХО это всё ж будет лучше для тебя и для нас (у меня однажды возникла путаница с апдейтами BersQ2, залил не тот архив когда пересталвл систему и все игры\проги).<br /><br />
#8
27 февраля 2007 в 23:29
Берсеркер а у тебя есть Berserker@Quake3 выложенная где-нибудь в Инете? Если да то хде... ???
#9
27 февраля 2007 в 23:39
Vrider, если она где-то и будет выложена, то скорее всего на berserker.quakegate.net, но там её пока нет... проект то только анонсирован. <br /><br />Берсеркер<br />когда кстати, нам ждать первый билд Bers@q3 (хотя бы ориентировочно).<br />
#10
28 февраля 2007 в 04:12
а в будущем поддержка мультьипроцессорности появится?<br />Если прикуплю двухядерник чтоб разобраться в технологии. А порубал потому, что SMP в Q3 вроде того, не работало толком.<br />
А можешь плюс к этому ещё им номера билдов\версий писать?<br />Если надо, можно.<br /><br />Выложу на КГ у себя на сайте как только допричешу дефолтные ARB-программы (для рендера чистого Ку3), осталось самый децл, вчера бы вечером сделал, но пришлось пару багов в ку2 проекте исправлять. Так что на днях...<br /><br />Еще напоминаю, что графических отличий пока не наблюдается, прога выкладывается чисто для проверки работы ARB-шейдерного рендера на различном железе, для выявления глюков, тормозов, артефактов. На моем GF7600 всё гуд.