![]() |
Странное.
PHP код:
Есть волшебный флаг или надо переписывать? Меш создается так: PHP код:
![]() Неправильно: ![]() Было бы наоборот я бы не удивился. |
Ответ: Странное.
хер знает че ты там делаешь, не стал разбираться, но обычно можно ошибиться в одной вещи это например xPositionEntity он имеет в параметрах модель xyz и ещё важная деталь - использовать глобальные позиции или нет (false true), это есть во всех командах относящихся к трансформации.
ЗЫ. получи xyz глобальные всего объекта и рисуй вертексы vertexX + modelX и т.п. чтоб они правильно рисовались Это если я правильно понял что ты делаешь ))) |
Ответ: Странное.
Ты мне еще справку по блитз3д почитать предложи.
Лучше б "первый нах" написал бы, чесслово. |
Ответ: Странное.
Ну а чеж ты тогда запутался с позициями объектов?
|
Ответ: Странное.
Скачай, запусти и потом скажи куда твои "позиции" относятся.
А если внятно объяснишь почему это лечится xTurnEntity(picked_entity,360,0,0); в соответствующем месте, то я паду ниц и протру челом ковер, насквозь, пля. |
Ответ: Странное.
У меня сложилось впечатление, что в хорсе в поверхности не может быть вершин более, чем 81 204 или около того. Это так?
|
Ответ: Странное.
|
Ответ: Странное.
у меня рисует поверхность с таким кол-вом точек.
На форуме на сайте только на английском языке писать можно? |
Ответ: Странное.
Желательно.
|
Ответ: Странное.
Сочинил нечетко чоткий пик отрезка.
![]() |
Ответ: Странное.
![]() Научил "это" неадекватно и коряво шевелить точками модели. Помоему в средние века сжигали за меньшую ересь :-D [q] сборсить поверхность. |
Ответ: Странное.
Код:
void xSeedRnd(int seed){ |
Ответ: Странное.
Почему у тебя xRnd а вторая xRand (разве там нету перегрузки функций).
Синтаксис пляшет, выглядит ужасно, будто сплошной копи-паст. |
Ответ: Странное.
Одно с дробной частью второе целые, як в блитце.
|
Ответ: Странное.
Цитата:
|
Ответ: Странное.
abs fabs в C какбе намекаэ
|
Ответ: Странное.
Топик называется "Странное". Так что все ок.
|
Ответ: Странное.
Подскажите команду наподобие printf();только чтобы можно было печатать double.
|
Ответ: Странное.
Насколько я помню, %f подходит как для float, так и для double. В крайнем случае попробуй %Lf
|
Ответ: Странное.
при наличии этой строки падает
double gh[512][512]; а при такой нет double gh[256][256]; Почему О_о UPD: double *n[2048]; double bh[2048]; for(int i=0;i<2048;i++){n[i]=bh;} n[2047][2047]=0.5; printf("value %f",n[2047][2047]); а так работает, че так? |
Ответ: Странное.
Потому что максимальный размер массива 65536 (256x256), а ты пытаешься создать слишком большой? (догадка)
|
Ответ: Странное.
double gh[512][512]; - превысил размер стека. создавай массив в куче
double *gh = new double[512*512]; |
Ответ: Странное.
Или в настройках линкера увеличить размер стека (по умолчанию в Студии он равен 1МБ)
|
Ответ: Странное.
Цитата:
|
Ответ: Странное.
Цитата:
|
Ответ: Странное.
Эта фигня в моей книге по цпп называется массив указателей. Где менять в кодеблокс размер стека я пока не смог найти, так что это единственный работающий у меня вариант для больших массивов.
"Массивы указателей - конструкции интересные и весьма полезные" :-D Основная фича, как говорится в моем мануале, это возможное разное кол-во элементов в каждой строке, вот. |
Ответ: Странное.
Ну, если ты считаешь, что прав, то построчно объясни, что происходит.
|
Ответ: Странное.
![]() ![]() Или нужен именно мой пересказ? |
Ответ: Странное.
Ну в книге то правильно, а у тебя нет.
|
Ответ: Странное.
А почему работает тогда и не падает? О_о. Еще в книге написано, что имя массива это указатель на первую ячейку из него, так что вроде все окей должно быть.
|
Ответ: Странное.
А оно невсегда упадёт, пока чужую память не попортишь.
|
Ответ: Странное.
Цитата:
|
Ответ: Странное.
падать вроде и не должно. всем элементам массива указателей назначается адрес начала массива с даблами. соотв первый [2047] возьмёт указатель, второй сам дабл. правда смысла в массиве указателй на один и тот же адрес я не вижу.
Цитата:
double* gh = new double[512*512]; |
Ответ: Странное.
А, понял на что мне гуру намекают :-) Что у меня во всех ячейках один и тот же массив и это попахивает кретинизмом хранить в одном массиве пару тысяч ссылок на один и тот же массив. Видимо для каждой ячейки нужно создавать уникальный массив и тогда все будет ок.
|
Ответ: Странное.
Да. Почитай про указатели еще раз.
ЗЫ. Ссылка != указатель, кстати. |
Ответ: Странное.
Продолжу нуб шоу по массивам:
double* gh = new double[512*512]; for(int i=0;i<512;i++) { gh[0*i]=0.5*i; } for(int i=0;i<512;i++) { printf(" value= %f",gh[0*i]); } печатает одно значение для всей строки, последнее. Я ожидал подряд идущих значений от 0 до 255,5. упд. В нуле штолеО_о, это таки одномерный массив. Идиотская конструкция печатает мне то что я хочу, где косяк в первой? ибо вторую печатать гораздо дольше: //создаю массив double *m0[size]; for(int i=0;i<size;i++){ m0[i]= new double[size]; } //заполняю первую строку for(int i=0;i<size;i++){ m0[0][i]=i; } //печатаю первую строку. for(int i=0;i<size;i++){ printf(" index %f",m0[0][i]); } |
Ответ: Странное.
0*i при любом значении i даёт 0, другими словами ты записываешь и печатаешь всегда значение одной единственной ячейки.
|
Ответ: Странное.
Я понял уже смысл такой записи массива :)
Написал глючный квадроалмазный генератор выдающий текстуру :) Причем он получился раз в 50 резче блитцевского при равном объеме вычислений. Генерирует текстуру 4096х4096 за 5 сек вместе с рисованием её против нескольких минут. Не зря я все-таки полировал себе мозг цпэпом. ![]() |
Ответ: Странное.
Цитата:
|
Ответ: Странное.
генератор карт высот по алгоритму diamond square
починил глюк, это был мусор в памяти :) PHP код:
|
Ответ: Странное.
Как вариант, можно еще писать array[i + n*j], где n - число столбцов. Просто в действительности данные расположены линейно, никаких двумерных (и тем более трех- и n-мерных) структур данных в памяти не может быть.
ЗЫ. Не писал бы этого, если бы не увидел [0*i] о_О |
Ответ: Странное.
![]() Выкинул лишние проходы и научил это раскрашивать текстуру :) Теперь оно еще в 4 раза быстрей:) |
Ответ: Странное.
А шейдером можешь генерить подобное?
|
Ответ: Странное.
Нет.
|
Ответ: Странное.
У меня появилась идея скрестить спаренный генератор высот и мою недосистему частиц в ландшафт напоминающий таковой из майнкрафта, только другим макаром.
Для начала генерируется карта 4к х 4к, потом на основе девяти ячеек из карты генерится другая 128х128, с актуальным размером 112х112 и 16 кратным нахлестом с соседними тайлами, для избежания резких швов. Вокруг игрока летает девять детализированных систем частиц и еще одна с шагом основной карты для изображения отдаленного пейзажа. в одной системе частиц у меня получается уместить 20к квадов, 112х112=12544 верхушек кубиков и остается ~10к квадов для имитации стен вырытых канавок. Вроде достаточно. Всего уже получится 20х10=200 к полигонов на ландшафт. Потом для этого дела генерится мой любимый двумерный массив указателей в ячейках которого будут объекты несущие в своих полях маски для раскраски территории. Ваши ставки, господа. Смогу ли я подобное сочинить? По ощущениям это должно быть впритык, но по силам :) |
Ответ: Странное.
Извраты имхо.
Если делать достойную систему как в Minecrafte, то юзать динамичный Octree и генерировать ингл сюрфейс, разбитый на чанки исходя из Octree. Сами Octree чанки содержат вершинные и индексные индексы. При рендере нужные (видимые) чанки будут совмещатьс и рендериться всё большего размера чанками, 32х32х32 например. |
Ответ: Странное.
Господь с тобой Мока, не достойную, а отдаленно напоминающую.
|
Ответ: Странное.
Да хоть напоминающую. Достоинства в моём понимании, система которая будет достаточно шустра, и не будет ограничивать исходя из метода реализации. А это не просто.
Почему Octree, потому что это очень схоже с воксельными расчётами, каждый куб, есть по сути воксель. И используя Octree, это дело может быть весьма шустрым и динамичным. Читай что-то на тематику SVO (Sparse Voxel Octree). |
Ответ: Странное.
Слющаю и повинуюсь, гуру прозревший мой замысел с одного взгляда и определивший всю ничтожность и глупость моей идеи, поиграться с классами более детально.
|
Ответ: Странное.
Эммм..
![]() |
Ответ: Странное.
Блин а чо все вдруг кинулись ландшафты генерить?? Рандом, я , теперь dsd...
|
Ответ: Странное.
Это сезонное, не все просто сознаются...
|
Ответ: Странное.
![]() Это оно меня ко мне посылает или дальше? |
Ответ: Странное.
Цитата:
|
Ответ: Странное.
Вот кстати создание двумерного массива (привычного с двумя индексами) через кучу:
Код:
int n=100; |
Ответ: Странное.
Цитата:
обращение к элементу - равноценно с обычным массивом по скорости |
Ответ: Странное.
сфера без лишних точечек на полюсах... Правда из двух поверхностей...
![]() PHP код:
|
Ответ: Странное.
какая-то сетка больно неоднородная. в максе geosphere получше будет.
|
Ответ: Странное.
Это совсем не геосфера, выпрямил решетку :)
И геосфера строится вообще не полюдски, меня все эти икосоэдры пугают пока:) ![]() PHP код:
|
Ответ: Странное.
Мне кажется или на мою сферу текстура таки ровней накладывается?
![]() ![]() |
Ответ: Странное.
На сферу справа надо накладывать текстуру 2:1.
|
Ответ: Странное.
Разве это уберет сжатие у полюсов? Ведь обычная сфера текстурится прилично только в областях близких к экватору, или нет?
|
Ответ: Странное.
А на скриншотах полюса показаны что ли? Я имел в виду, что, если наложить на правую сферу текстуру 2:1, то на экваторе не будет таких растянутостей.
|
Ответ: Странное.
Ну а я, в общем, заговнокодил сферу без таких искажений у полюсов :)
|
Часовой пояс GMT +4, время: 06:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot