Нужны уроки по программированию на С++ по которым можно научится писать программы с использованием Directx.
в directx sdk есть встроенные примеры, которые написаны вполне сносно. если ты знаешь C++, то по ним можно с успехом освоить d3d. если ты не знаешь C++, то имеет смысл его сперва освоить его отдельно от d3d.
Сейчас всем нужны Vulkan и его консольные аналоги. При этом сразу c MultiDraw Elements Indirect и куллингом на CS. Минимум. Поэтому бери либо OGL 4, либо Vulkan.
https://vk.com/doc44301783_515619511?hash=Fm1ivQfeschI7H5semX20NY… 52lgZMwwPMZKc
https://developer.nvidia.com/gpugems/gpugems/contributors
https://developer.nvidia.com/gpugems/gpugems2/copyright
https://developer.nvidia.com/gpugems/gpugems3/contributors
https://github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook
И эспандеры купи, и отжимайся почаще. Кода в графике очень много.
мне бы изучить самую базу, как работает, окно директикс, что такое матрицы, итд.. итп...
Directx и плюсы совершенно разные вещи. Одновременно всё учить - сломаешь мозг и попадёшь в дурку. Как сказал Суслик, выучи сначала плюсы.
Suslik
> если ты знаешь C++, то по ним можно с успехом освоить d3d. если ты не знаешь C++, то имеет смысл его сперва освоить его отдельно от d3d.
Я так плюсы осваивал и долгое время активно пользуясь классами их "методы" и "свойства" по незнанию называл просто "функциями" и "переменными" :)
Mikki
Кстати, плюсы не для слабонервных и пользуясь unique_prt для создания экземпляров классов необходимо их вручную удалять, если необходимо вызывать деструктор )))
Даниил Петров
> Кстати, плюсы не для слабонервных и пользуясь unique_prt для создания экземпляров классов необходимо их вручную удалять, если необходимо вызывать деструктор )))
"не умеешь сам — научи другого"?
Suslik
> "не умеешь сам — научи другого"?
Вот чего-чего, а учить я точно никого не собираюсь, так как сам не учился :) всю жизнь методом тыка прорываюсь
lookid
> Поэтому бери либо OGL 4, либо Vulkan.
Лучше хорошенько освоить OGL, тем более для новичка, и максимально подтянуть его до версии 4.6, а потом уже думать, стоит ли связываться с VK. По мере накопления опыта в сфере графики я всё меньше тороплюсь переходить с OGL на VK. Когда взялся переводить GL-объекты на Direct State Access, у меня впервые возникло желание бросить разработку своего движка, помогло только неумение опускать руки :)
Mikki
В любом случае оба GAPI выгоднее D3D своей кроссплатформенностью, я все библиотеки подобрал так, что рантаймы движка для Линукса и Венды отличаются только оконной функцией и контекстами - GL и GLX.
Suslik
> "не умеешь сам — научи другого"?
Это называется метод Фейнмана, если не ошибаюсь.
Даниил Петров
> unique_prt для создания экземпляров классов необходимо их вручную удалять
Насколько я понимаю, unique_ptr должен использоваться как scope ptr. Тогда его не надо удалять вручную.
0xBADCODE
> Насколько я понимаю, unique_ptr должен использоваться как scope ptr. Тогда его не надо удалять вручную.
А это как? Я просто создаю вот так:
eastl::unique_ptr<ClassWindow> Application = eastl::make_unique<ClassWindow>(argc, argv);
Либо описываю экземпляр класса в заголовке, а создаю уже в коде. Первый вариант подходит лишь для функции main или экземпляров классов ассетов, которые посредством move загружаются в вектор. Чтобы избежать вопросов, почему не std, я использую EASTL. А так знаю ещё shared_ptr и weak_ptr, однако никогда ими не пользовался.
Даниил Петров
> А это как?
почему бы тебе не создать свою тему с вопросом "расскажите мне как работает unique_ptr"? а ещё лучше — задать этот вопрос гуглу. какое дело автору темы до твоих потуг разобраться?
Suslik
Да проще уже тут знающему человеку вкратце рассказать...
Даниил Петров
> А это как?
Просто использовать внутри функции, имею ввиду.
struct Dummy{}; void foo() { std::unique_ptr<Dummy> dummy( new Dummy); // do smth with dummy }
>Да проще уже тут знающему человеку вкратце рассказать...
Ежели что, я не гуру, но
Исходя из тех англоязычных статей, что я когда-то читал, то unique_ptr - это scope ptr.
Если тебе нужен определенный порядок удаления систем, то unique_ptr не особо удобен, придется вызывать методы его уничтожения вручную.