CppCon 2018: Mark Elendt “Patterns and Techniques Used in the Houdini 3D Graphics Application ”

preview_player
Показать описание


Earlier this year, Mark Elendt and SideFX were awarded the Scientific and Technical Award of Merit for their continued work and innovation on the Houdini Visual Effects software package.

Not only has Houdini been used in all of the Visual Effects Academy Award winning films of the past 10 years, but it has also been used for television shows like Game of Thrones and Stranger Things as well as content creation for many AAA video games, and even for scientific visualization.

Houdini artists are tasked with creating amazing, never before seen visual effects. They constantly push both performance and scale in the software. Since the early 1990's Houdini's C++ architecture has provided a flexible platform that has enabled artists from around the world to create their vision.

Mark will discuss some of the patterns and approaches that have been used in Houdini to meet the demands of production, from the early days of dealing with c-front to embracing modern features provided by modern C++.

Mark Elendt
SideFX

Mark Elendt has been an active practitioner at SideFX software for over 25 years. He works primarily on low level libraries for Houdini but also is the chief author of the mantra production rendering engine. He was honored to receive the Scientific and Technical Academy Award of Merit for his contributions to Houdini.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

Outstanding!
That kind of sharing should become a staple of conferences such as CppCon, with people from all industry, from production to finance, from start-up to highly regulated businesses.
It would help users getting an open mind and give ideas to language, library, compiler and tool designers,

CedricMialaret
Автор

Refreshing to see some down-to-earth C++ that I can actually understand.

maximblinov
Автор

Dang, this was a beastly talk! My favorite one so far! Learned a lot from it.

Copy on write is a great technique. Also consider just passing your object by const ref and providing a copy constructor. This way, you are never creating copies, you are simply passing things around by (const) reference, but the client can create a copy of their own if they want.

Abdullah-mgzl
Автор

great talk, great speaker. I saw a comment dissing C++, but I don't think that is appropriate. For writing perf critical code there isn't anything better. (I know we have plain old C. It's good but destructors, interfaces and templates are actually good things.) If you know what you are doing, C++ is a great tool. keep in mind, knowing what you are doing is a process (always keep learning).

ericzenk
Автор

Development and history of graphics apps: Great summary. Thanks!

TheLavaBlock
Автор

What a great and enthusiastic speaker, well done!

hlmukkel
Автор

That was a great presentation with some important lessons learned (reflections) at the end.

mariusbancila
Автор

Congratulations on the awesome presentation Mark!
You mentioned that points are modeled as an struct of arrays, instead of an array of structs.
That makes perfect sense, but was that your first choice? Or did you guys have to refactor the whole code once you decided to switch implementations?

brenogi
Автор

Need more help on paged arrays! How do we access the data at a particular time point?

raghureddy
Автор

I couldn't understand why the band is part of the record instead of the video shown in the opening announcement? copyright issue??

wendywong
Автор

tldr: все как я и думал: пока пилишь свои либы велосипедные - жизнь малина; начинаешь юзать стандартные - попадаешь прямиком в ад. (c) hoknamahn

madjestic
Автор

It would be great if these videos could skip the band at the start

quinnmikelson
Автор

37:12 should be memmove instead of std:move

robinbuster
Автор

So after 25 years of C++ development, his final words about using the language to develop a large scale system: "Trust no one". Don't trust the operating system, don't trust C++ compilers, and special emphasis given to "Not even your own [C++] code."

What progress! Such a great language!

/s

lotusseries