Functional 3D Graphics in C++ — with an Object-Oriented, Multiple Dispatching Implementation [chapter]

Greg Schechter, Conal Elliott, Ricky Yeung, Salim Abi-Ezzi
<span title="">1996</span> <i title="Springer Berlin Heidelberg"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/q7j2ibworncshi7bmtszlnrvg4" style="color: black;">Object-Oriented and Mixed Programming Paradigms</a> </i> &nbsp;
Constructing interactive, animated 3D graphics applications has been notoriously difficult for well over twenty years. Even though significant advances in the state-of-the-art have been made, this situation persists. The system described here simplifies the programmatic construction of geometry in ways that we have not seen elsewhere, and does so within the framework of an accepted production language, C++. It has been our experience that the resulting programs are quite succinct and
more &raquo; ... ble, and execute efficiently. The programmer is presented with a simple, general interface that is both declarative and conforms to the functional programming paradigm. Pursuing a functional interface for developing interactive 3D applications is a novel concept that, in our experience, has been successful in providing a simple, powerful interface and a relatively straightforward implementation. The implementation of the system is highly object-oriented, relying heavily upon multiple dispatching. The system itself is extensible and adding new geometric primitives and operations is straightforward. Entirely new media types, such as sound and image, may be (and have been) added to the system.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-642-61062-2_13">doi:10.1007/978-3-642-61062-2_13</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/oographics/SchechterEYA94.html">dblp:conf/oographics/SchechterEYA94</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/mjfjcmvmang4llrteoevlw5lba">fatcat:mjfjcmvmang4llrteoevlw5lba</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20160928210125/http://www.abiezzi.com:80/Salim/publications/Docs/Functional%203D%20-%20eoog94.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/14/a6/14a611fc8934672338b368ebe82cd5ae4dc3364b.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-642-61062-2_13"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>