Сохранен 69
https://2ch.hk/gd/res/100592.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Софтварного рендеринга нить

 Аноним Втр 31 Дек 2013 06:37:25  #1 №100592 
1388457445763.gif

Анон, накидай, пожалуйста, туториалов и книжек по теме, хочу познать 3д графон без всяких там опенжээлей или директиксов, да я поехавший, да я сосу хуи.

Аноним Втр 31 Дек 2013 11:08:37  #2 №100599 

IDA + DirectX + MS Symbols ... PROFIT

Аноним Втр 31 Дек 2013 11:44:40  #3 №100601 

>>100592
Ты хочешь какую-то оболочку на все это, или понять как это все работает, про графический конвейер и прочее?

Аноним Втр 31 Дек 2013 13:02:07  #4 №100610 

>>100592
Научись софтварно рисовать линию. Это несложно. Потом рисуй треугольник. Затекстуренный треугольник - интерполируешь координаты текстур, заданные на вершинах. Потом запиливай матрицы, умножай на них точки в пространстве, они сразу мапнутся на монитор - а дальше по ним рисуешь треугольник. В код прорисовки пикселя втыкаешь специальную функцию - сорт оф шейдер получается. И так далее. Но только тебе это нахуй не надо. Бери в зубы OpenGL 4 и не выёбывайся.

Аноним Втр 31 Дек 2013 13:05:08  #5 №100612 
1388480708162.png

Ну вот например http://www.enlight.ru/faq3d/content.htm
Когда-то я тоже делал движок под 13h на паскале, но мой паскальный рендерер тормозил, а поскольку в асме я был нулевой, то пришлось использовать текстурировалку, найденную в интернете. А потом мне надоело это говно.

Аноним Втр 31 Дек 2013 13:21:47  #6 №100615 

http://www.sitepoint.com/write-3d-soft-engine-scratch-part-1/ не благодари

Аноним Втр 31 Дек 2013 13:25:32  #7 №100616 

>>100612
спасибо, добра тебе анон.

Аноним Втр 31 Дек 2013 13:28:14  #8 №100617 

>>100610
Ну опенжл я в зубы может и возьму, но мне надо рисовать 3д графон на чернобелом экранчике

Аноним Втр 31 Дек 2013 13:41:07  #9 №100621 

http://padabum.com/d.php?id=32916
тут тебе и отсечения и трассировка лучей

Аноним Втр 31 Дек 2013 13:46:05  #10 №100622 

>>100621
и тебе добра, анон

Аноним Втр 31 Дек 2013 15:45:02  #11 №100641 

Лень тред создавать.

http://steps3d.narod.ru/tutorials/lighting-tutorial.html

Вот тут в самом низу есть ссылка на демки, демки не запускаются, glut32.dll не найден, пишет. Как это быстро вылечить? Дллку скачать не предлагать.

Аноним Втр 31 Дек 2013 16:04:41  #12 №100648 

Присоединяйся к рядам УДоделов, продвигай воксельную графику. Тред найдешь на первых страницах гд.

Аноним Втр 31 Дек 2013 16:10:40  #13 №100651 

>>100641
А по другому и никак. Глут же вроде не опенсорсный?

Аноним Втр 31 Дек 2013 16:59:27  #14 №100669 

>>100641
> glut32.dll не найден
> Дллку скачать не предлагать.
Проиграл с дегенерата.
Ну ладно, сам создай тогда. Создай файл в блокноте, напиши в нем рандомный набор символов и сохрани под именем glut32.dll в директории с экзешником. Потом пробуй запускать, модифицируй файл, пока не запустится.

Аноним Втр 31 Дек 2013 17:12:01  #15 №100673 

>>100669
Я ебу, какая именно там либа нужна? Скинь свою, если у тебя работают демки.

Аноним Втр 31 Дек 2013 17:14:58  #16 №100675 
1388495698268.png

>>100673
Всё, не нужно, спасибо. Накачал ещё дллок, одна из них сработала.

Аноним Втр 31 Дек 2013 17:47:58  #17 №100688 

>>100648
Что-то не нашел того треда, одни срачи и КИРИЛтреды

sageАноним Втр 31 Дек 2013 18:05:38  #18 №100693 

>>100688 всё правильно, удососы это кириллы от кодинга

Аноним Втр 31 Дек 2013 18:49:32  #19 №100700 

А расскажите математику преобразования трехмерных координат треугольника в двумерные. Я так понял там какое-то проецирование на камеру делается. Какое? И какие действия над координатами для этого выполняются?
Не ОП

Аноним Втр 31 Дек 2013 19:45:12  #20 №100707 
1388504712317.png

>>100700
Такой же принцип как у камеры-обскура, только экран лежит перед щелью.
Если просто, то порядок примерно таков:
1)Пересчитываешь координаты вершины (красная) из мировых трехмерных координат (синие) в координаты связанные с камерой (черные) с помощью умножения на матрицу преобразования.
2)Из подобия треугольника вычисляешь экранные координаты (зеленые). То же самое проделываешь для вертикальной составляющей. Расстояние между экраном и точкой камеры влияет на глубину перспективы.

Аноним Втр 31 Дек 2013 20:26:20  #21 №100714 

>>100616
базарю 13h говно
если хочешь нормального графона выбирай кодинг под GPU
nouveau intel manuals etc

Аноним Втр 31 Дек 2013 20:54:25  #22 №100719 

>>100688
На второй странице: >>84432

Аноним Вск 05 Янв 2014 09:09:30  #23 №101409 
1388898570135.jpg

Ну что же вы, Кармаки, как успехи?
Я вот запилил свой первый софтварный вращающийся кубик, доволен как слон.

Аноним Вск 05 Янв 2014 09:28:11  #24 №101413 

>>101409
Кресты?

Аноним Вск 05 Янв 2014 16:14:31  #25 №101455 

>>101409
>Я скопировал алгоритм вращающегося кубика
> доволен как слон
Ясно

Аноним Вск 05 Янв 2014 16:25:52  #26 №101456 
1388924752139.png

>>101409 Лаба. Код выглядит как говно, но работает шустро.

Аноним Вск 05 Янв 2014 18:54:44  #27 №101485 

Читайте Game Developer magazine за, кажется, 1996 год. Там очень хорошо все описано.

Аноним Вск 05 Янв 2014 19:37:03  #28 №101494 
1388936223047.jpg

>>101413
Они, родимые.
>>101455
Да ладно тебе, софтовый рендер - это не тот случай, когда можно просто скопипастить и это будет работать.
>>101456
Нормально же выглядит, как по мне. Вот бы нам такие лабы, а то мы всё матрицы сортируем.
>>101485
Спасибо, сейчас почитаю.
Кому лень гуглить - посмотреть можно здесь:
http://www.gdcvault.com/gdmag

Аноним Вск 05 Янв 2014 19:48:54  #29 №101496 

>>101494 Бублик охерительный, я не спорю. But at what cost? http://pastebin.com/N1PB6FsR
Казалось бы, переопредели по человечески операторы, разбей на процедуры, но неееет, ООП придумали кретины, проще всё закопипастить.

Аноним Вск 05 Янв 2014 20:10:33  #30 №101500 

А посоветуйте какой-нибудь энтри левел литературы по программированию графона, начиная от простого рисования треугольников в 2д заканчивая написанием простенького рейтресера или таких нет?

Аноним Вск 05 Янв 2014 20:11:35  #31 №101501 

>>101496
а что исползовал для рисования бублика? Кутю штоле?

Аноним Вск 05 Янв 2014 20:14:44  #32 №101503 

>>101500
рейтрейсеры сейчас уже никто не пишет

Ты лучше поищи в гугле "как рисовать треугльник" и "простенький рейтрейсер"

Аноним Вск 05 Янв 2014 20:15:45  #33 №101504 
1388938545184.jpg

>>101503

отклеилась

Аноним Вск 05 Янв 2014 22:45:23  #34 №101520 

>>101501 Взял формулу тора из википедии, сгенерил кучу треугольников. Там ничего сложного.

Аноним Пнд 06 Янв 2014 00:00:40  #35 №101538 
1388952040722.jpg

>>101496
А почему сразу нормально не написал? От вас так требуют?

Аноним Пнд 06 Янв 2014 00:02:08  #36 №101539 

>>101538
лол, анон ты кубик рисовал по тому туториалу, что я запостил выше? Только вот там туториал на решетке, а ты решил, как герой на крестах ебошить, или я ошибаюсь?

Аноним Пнд 06 Янв 2014 00:12:08  #37 №101542 

>>101539
Сам писал, у меня парсер 3ds, и загрузка из базы данных. Тот туториал не очень, там линии рекурсивно рисуются, охуеть теперь.

sageАноним Пнд 06 Янв 2014 00:29:48  #38 №101544 

>>101538
Вот это ты успешный, что можешь посоветовать для начала? Как написать свой софтварь рендерер, умея только 2д рисовать на канвасе пиксели и пердолиться с тайлами?

Аноним Пнд 06 Янв 2014 00:30:50  #39 №101545 


Случайно саганул блядь.

Аноним Пнд 06 Янв 2014 00:44:32  #40 №101548 

>>101538 Хрен его знает. Вроде, времени тогда было несильно много, чтобы всё нормально продумать.

Аноним Пнд 06 Янв 2014 00:48:36  #41 №101550 

>>101544
Не автор рендерера, но от себя посоветую khanacademy, тупо пройди всю базу которую там дают и пройди все упражнения, тогда реально тебе жить будет легко со всей хуйней, и может даже 3д осилишь.

Аноним Пнд 06 Янв 2014 00:55:26  #42 №101553 

>>101544
Разберись с матрицами, их перемножением, системами координат, векторами, кватернионами. Лучше взять готовую либу для твоего языка. Можно написать самому, если есть время и желание разобраться, это несложно, но много рутины.
Создай структуры данных для пикселя (RGBA, например, по байту на составляющую), вершины (для начала можно ограничиться только положением, то есть, один 3d вектор, определяющий положение), треугольника (3 целочисленных индекса, по которым будут браться вершины). Модель содержит массив вершин и массив индексов, по которым строятся треугольники. Положение модели задается 3д вектором, вращение для начала тоже одним 3д вектором. Потом всё это преобразуется в матрицы и перемножается. После этого разберись с преобразованиями, как получить координаты точки на экране из её 3д координат в 3д пространстве, с учетом камеры (матрицы view и projection). В треде полно ссылок с примерами на эту тему.

Аноним Пнд 06 Янв 2014 01:27:43  #43 №101562 

http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/ от себя дополню, пройди еще и это

Аноним Пнд 06 Янв 2014 04:08:50  #44 №101606 

>>101553
А что посоветуешь для рисования всего этого дела, кутю?

Аноним Пнд 06 Янв 2014 04:33:11  #45 №101609 

>>101606
Qt слишком тяжелый.
Бери sdl или sfml.
Я делал на sfml, мне ООП больше по душе.

Аноним Пнд 06 Янв 2014 04:39:22  #46 №101610 

>>101606
Freeglut + glew
http://ogltutor.netau.net/index.html

Аноним Пнд 06 Янв 2014 04:45:24  #47 №101611 

>>101610
Ты ебанутый? Ты знаешь, что такое софтварный рендер?

Аноним Пнд 06 Янв 2014 05:14:18  #48 №101613 

>>101609
спасибо, няша, пойду постигать дзен ебли пикселей

Аноним Птн 14 Фев 2014 01:51:24  #49 №105967 

>>100592
Думал запилить это богатство на C++ под дос с библиотекой graphics.h, но дропнул на перемножениях матриц.

sageАноним Птн 14 Фев 2014 03:44:56  #50 №105979 

>>105967
Эй, полегче, парень! Если ты начнешь тут описывать все, что ты дропнул или зафейлил, тебе борды не хватит.

Аноним Птн 14 Фев 2014 12:04:23  #51 №105994 

>>100617
>мне надо рисовать 3д графон на чернобелом экранчике
Вот годная книжка - все азы.
http://zxpress.ru/book.php?id=13

Аноним Птн 14 Фев 2014 18:12:14  #52 №106026 

>>100599
Сажа

Аноним Птн 14 Фев 2014 22:10:23  #53 №106048 
1392401423699.jpg

>>100592
http://www.amazon.com/Physically-Based-Rendering-Second-Edition/dp/0123750792

Аноним Суб 15 Фев 2014 13:46:37  #54 №106132 

>>105994
посмотрел на содержание очень клево, но вот я не знаю спектрумовского бейсика, и идей практиковаться не особо есть, буду думать как эти уроки можно адаптировать под сишку

sageАноним Суб 15 Фев 2014 15:59:02  #55 №106142 

>>106132
> я не знаю спектрумовского бейсика
> буду думать как эти уроки можно адаптировать под сишку
Кому ты пиздишь? Такие думать не способны.

Аноним Вск 16 Фев 2014 14:19:24  #56 №106249 

>>106132
Спектрумский бейсик настолько прост, что его знают все, он инсталлирован каждому программисту при рождении, бро.
Впрочем, афаир, там основное - формулы и алгоритмы. На чём их реализовывать - неважно.
Всем RANDOMIZE USR 0, посоны!

Аноним Вск 16 Фев 2014 21:55:32  #57 №106303 

еще стукнула в голову идея найти конпелятор спектрумовского бейсика, и fuse использовать как запускалку, как думаете взлетит?

Аноним Пнд 17 Фев 2014 11:56:18  #58 №106339 

>>106303
Понял только, что ты извращенец. Я таких люблю и уважаю.
Есть куча компиляторов спектрум бейсика, а также полные SDK для кроссплатформенной разработки.
Вот, например:
http://www.boriel.com/en/software/the-zx-basic-compiler/
Думаю, здесь zx.pk.ru ты нароешь ещё больше инфы.

Аноним Пнд 17 Фев 2014 15:50:01  #59 №106361 

>>106339
в общем беда и печаль, конпеляторы спектрумовского бейсика говнецо еще то, на пиздоне писанное, но не суть, и я чего подумал, а может мне на жопаскрипте написать свой эмулятор спектрума, и прям из браузера ебошить на бейсике, а в другом окошечке видеть результат.

Аноним Пнд 17 Фев 2014 16:17:54  #60 №106364 

>>106361
Но зачем, лол? Если ты твёрдо решил писать игры на спектрум, то уважуха, чувак ассемблер z80 тебе друг, товарищ и брат, а если просто захотелось пообмазываться спек-бейсиком - то юзай эмулятор (в режиме Spectrum 128, чтобы операторы побуквенно вводить, а не токенами), либо юзай интерпретаторы спектрум бейсика под PC.

Аноним Пнд 17 Фев 2014 17:14:44  #61 №106369 

>>106364
это снова я, в общем немного подпилил напильником конпелятор под себя, и уже могу писать на бейсике и конпелять и запускать, в общем прощайте я ушел ебать пиксели, спасибо за книжку добрый анон

Аноним Пнд 17 Фев 2014 17:27:29  #62 №106370 

>>106369
Не за что. Возвращайся с результатом.

Аноним Пнд 17 Фев 2014 23:56:48  #63 №106411 

>>106370
внезапно я заигрался в популярный тайтлы этой платформы и понял, что некоторые игрушки достойны клонов на текущих платформах, внезапно я вдохновился, и даже появились ИДЕИ как это реализовать на мобилках

Аноним Пнд 17 Фев 2014 23:59:47  #64 №106413 

>>106411
Например?

Аноним Втр 18 Фев 2014 08:51:06  #65 №106440 
1392699066996.jpg

Собственно говоря зачем туториалов? Я как-то на шару взял и написал, без доп информации, только что Winapi функции посмотрел нужные.

sageАноним Втр 18 Фев 2014 12:26:03  #66 №106454 

>>106440
> Form1
> Winapi функции

Аноним Втр 18 Фев 2014 17:39:38  #67 №106477 

>>106454
Хм, я ждал этого поста, специально не полноэкранную заскриншотил. Не понимаю, чем form1 делает хуже мой код по отрисовке.

Аноним Срд 19 Фев 2014 10:52:04  #68 №106528 

>>106477
Ну она же у тебя по дифолту создалась в дельфи, кому ты пиздишь?

Аноним Срд 19 Фев 2014 18:30:23  #69 №106553 

>>106528
Да, winapi то не для создания окна, а чтоб передавать массив пикселей куда-то там системе, которое BitBlt и InvalidateRect. Интересно, зачем мне надо было смотреть какие-то дополнительные функции, если бы я просто окно создавал.

comments powered by Disqus

Отзывы и предложения