Любые идеи о том, почему, очевидно, кажется, что существует некоторая разница в функциях cos/sin между Glsl и Javascript? PHI может стать довольно большим количеством, например, «5476389.695241543». Может, это слишком велика для точности GLSL? < /p>
Итак, этот дает неисправные позиции в вершине, если я изменяю «cos (phi)» и «sin (phi)» на коспи и sinphi, которые являются атрибутами, рассчитанными на процессоре, по математике Javascript (phi) и Math.cos (phi), тогда работает код. Здания /кубики не повреждены, поэтому смещение работает и пересекающиеся работы, поскольку здания /кубики ставят на поверхность сферы, с правильным дискеттопланом. < /P>
Ответ от кукурузы на gamedev.net:>
32-разрядным поплавками, это дает вам только 6 десятичных цифр точности.
5476389.695241543 до 6 десятичных цифр точности-5476380,000000 (усечение всего после 6 цифр). PI составляет всего ~ 3,14, а
, поскольку sin /cos периодические, использование больших чисел не дает вам никакой выгоды
по сравнению с использованием меньших чисел (потому что большие числа только
обертываются вокруг). Тем не менее, ваши цифры настолько велики, что они обертывают
настолько, что даже не отображаются в диапазоне [-pi, pi] (или [0,
2pi]). По сути, упаковка вокруг выбросает все цифры «высокие»
и сохраняет только соответствующие низкие цифры, но, к сожалению, для
вы все ваши низкие цифры - это мусор, потому что вы потратили все 6 своих
точных цифр на те, которые будут выброшены, и теперь все ваши
low (но наиболее важные) цифры не имеют смысла. Вы. < /p>
Тем не менее, в JavaScript все номера с плавающими темпами 64-битные, которые
дает вам 15 десятичных цифр точности. Это означает, что в JavaScript вы
действительно можете правильно представлять 5476389.69524154, поэтому ваши расчеты Trig
на самом деле точны (при условии, что ваш код JavaScript
обработка те же большие значения, что и ваш вертексный шейдер). < /P>
< /blockquote>
Я получаю прекрасное распределение Fibonacci, например: https://i.sstatic.net/3qawc.png
Любые идеи о том, почему, очевидно, кажется, что существует некоторая разница в функциях cos/sin между Glsl и Javascript? PHI может стать довольно большим количеством, например, «5476389.695241543». Может, это слишком велика для точности GLSL? < /p>
Итак, этот дает неисправные позиции в вершине, если я изменяю «cos (phi)» и «sin (phi)» на коспи и sinphi, которые являются атрибутами, рассчитанными на процессоре, по математике Javascript (phi) и Math.cos (phi), тогда работает код. Здания /кубики не повреждены, поэтому смещение работает и пересекающиеся работы, поскольку здания /кубики ставят на поверхность сферы, с правильным дискеттопланом. < /P>
Ответ от кукурузы на gamedev.net:[/b]>
32-разрядным поплавками, это дает вам только 6 десятичных цифр точности. 5476389.695241543 до 6 десятичных цифр точности-5476380,000000 (усечение всего после 6 цифр). PI составляет всего ~ 3,14, а , поскольку sin /cos периодические, использование больших чисел не дает вам никакой выгоды по сравнению с использованием меньших чисел (потому что большие числа только обертываются вокруг). Тем не менее, ваши цифры настолько велики, что они обертывают настолько, что даже не отображаются в диапазоне [-pi, pi] (или [0, 2pi]). По сути, упаковка вокруг выбросает все цифры «высокие» и сохраняет только соответствующие низкие цифры, но, к сожалению, для вы все ваши низкие цифры - это мусор, потому что вы потратили все 6 своих точных цифр на те, которые будут выброшены, и теперь все ваши low (но наиболее важные) цифры не имеют смысла. Вы. < /p>
Тем не менее, в JavaScript все номера с плавающими темпами 64-битные, которые дает вам 15 десятичных цифр точности. Это означает, что в JavaScript вы действительно можете правильно представлять 5476389.69524154, поэтому ваши расчеты Trig на самом деле точны (при условии, что ваш код JavaScript обработка те же большие значения, что и ваш вертексный шейдер). < /P> < /blockquote>