All streams
Search
Write a publication
Pull to refresh
-17
0
Алексей Егоров @FadeToBlack

Программист 3D Engine/CAD

Send message
Обратите внимание на даты предыдущих коммитов. Так случилось, потому что не все фичи мержатся сразу, просто эта фича слишком долго ждала своей участи. Гит пишет дату, когда коммит создан, а не когда он смержен. На самом деле проект обновляется каждую неделю.
Да, это будут статьи про алгоритмы и общие принципы, будет немного кода, но без подробностей. На самом деле, весь код доступен в OpenSource уже давно для всех желающих:) Разобраться можно, код достаточно хорошо отлажен, заложены хорошие идеи.
Интересно узнать подробнее про проекты, которые сейчас делают на BRL-CAD. Я попробовал что-то найти, но не нашел. Думаю, что OpenSCAD современнее и покрывает всю функциональность BRL-CAD. Если не прав, поправьте, я очень мало знаю про BRL-CAD.
Вряд ли BRL-CAD полезен в современности. SolveSpace, FreeCAD, OpenSCAD — живые, развивающиеся OpenSource проекты, про BRL-CAD мало кто слышал.
Да, это именно то же самое, только в проекте OpenSouce.
Будут и конкретика, и примеры. Хотел за одну статью, но подумал, что читать длинную статью сложнее, лучше будет, если разбить по темам.
Ну это, мягко говоря, неправда. Разве что если удалить все программы, выключить все беспроводные модули и вытащить симку. Если включить симку, то смартфон начинает жить максимум двое суток. У меня есть телефон LG, который живет без заряда 7-10 суток при ежедневных разговорах.
Это не смешно уже. Телефон нужен, чтобы звонить, и я уже устал от того, что батареи хватает на полтора дня — забыл зарядить, и ты даже позвонить не можешь… Качество приема сигнала у смартфонов низкое, громкости недостаточно для улицы… Я перепробовал несколько моделей сматрфонов и все они плохо справлялись с функциями телефона. Я думаю, что в дополнение к смартфону буду носить с собой Nokia, для чего и достал из глубин ящиков свой старый Nokia 6220 Classic.
Прекрасно, спички сэкономлены, но кэш скажет вам огромное спасибо за то, что вы по памяти против шерсти выборку ведете.
Советую всем просто время от времени сидеть в профайлере на реальных проектах. Полегчает настолько, что станет ясно, что торможение при взятии трансформа это такой бред… Посмотрите, сколько операций надо на матричное умножение… Так вот — это все еще очень быстро
Я, честно сказать, недавно узнал, что мне теперь можно комментировать. Я хотел однажды написать статью для инвайта, но ее забрили без объяснения причин, по-свински, как это было принято на хабре много лет назад.
Ничего страшного, все приходит с опытом. Есть некоторые вопросы, на которые не могут ответить бывалые программисты.
можно же так, чтобы обе прозрачности учитывались
gl_FragColor.a = pixel.a * float(pixel.rgb != vec3(1.0,0.0,1.0));
Отключение умножения не поможет — насколько я знаю, шейдер все равно выполняется весь, без разницы, в каком месте произойдет discard. Думаю, если я не прав, меня поправят.
Лучше замерить производительность в стресс-тестах (очень много спрайтов с прозрачностью, сотни тысяч) на мобильных устройствах в режимах с условием, без условия и discard без блендинга (отключение режима прозрачности). Тогда статья будет еще полезнее.
прошу прощения, вот так будет правильно
gl_FragColor.a = float(pixel.rgb != vec3(1.0,0.0,1.0));
но лучше протестировать, как будет быстрее. возможно, отключение блендинга и discard с условием будет производительнее
Без условного оператора можно сделать так: gl_FragColor.a = (float)(pixel.rgb != vec3(1.0,0.0,1.0));
12 ...
31

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity