3D

From Things and Stuff Wiki
Revision as of 13:29, 10 August 2018 by Milk (talk | contribs) (→‎Shaders)
Jump to navigation Jump to search


General

  • https://en.wikipedia.org/wiki/3D_computer_graphics - graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the purposes of performing calculations and rendering 2D images. Such images may be stored for viewing later or displayed in real-time. 3D computer graphics rely on many of the same algorithms as 2D computer vector graphics in the wire-frame model and 2D computer raster graphics in the final rendered display. In computer graphics software, the distinction between 2D and 3D is occasionally blurred; 2D applications may use 3D techniques to achieve effects such as lighting, and 3D may use 2D rendering techniques.



  • https://en.wikipedia.org/wiki/3D_modeling - the process of developing a mathematical representation of any surface of an object (either inanimate or living) in three dimensions via specialized software. The product is called a 3D model. Someone who works with 3D models may be referred to as a 3D artist. It can be displayed as a two-dimensional image through a process called 3D rendering or used in a computer simulation of physical phenomena. The model can also be physically created using 3D printing devices.


  • https://en.wikipedia.org/wiki/3D_rendering - the 3D computer graphics process of automatically converting 3D wire frame models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic rendering.

CAD

  • https://en.wikipedia.org/wiki/Computer-aided_design - the use of computer systems (or workstations) to aid in the creation, modification, analysis, or optimization of a design. CAD software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing. CAD output is often in the form of electronic files for print, machining, or other manufacturing operations. The term CADD (for Computer Aided Design and Drafting) is also used. Its use in designing electronic systems is known as electronic design automation, or EDA. In mechanical design it is known as mechanical design automation (MDA) or computer-aided drafting (CAD), which includes the process of creating a technical drawing with the use of computer software.

CAD software for mechanical design uses either vector-based graphics to depict the objects of traditional drafting, or may also produce raster graphics showing the overall appearance of designed objects. However, it involves more than just shapes. As in the manual drafting of technical and engineering drawings, the output of CAD must convey information, such as materials, processes, dimensions, and tolerances, according to application-specific conventions. CAD may be used to design curves and figures in two-dimensional (2D) space; or curves, surfaces, and solids in three-dimensional (3D) space.



  • https://en.wikipedia.org/wiki/Building_information_modeling - BIM, is a process involving the generation and management of digital representations of physical and functional characteristics of places. Building information models (BIMs) are files (often but not always in proprietary formats and containing proprietary data) which can be extracted, exchanged or networked to support decision-making regarding a building or other built asset. Current BIM software is used by individuals, businesses and government agencies who plan, design, construct, operate and maintain diverse physical infrastructures, such as water, refuse, electricity, gas, communication utilities, roads, bridges, ports, tunnels, etc.



2D

QCAD

  • QCAD - 2D CAD for Windows, Linux & Mac - a free, open source application for computer aided drafting (CAD) in two dimensions (2D). With QCAD you can create technical drawings such as plans for buildings, interiors, mechanical parts or schematics and diagrams. QCAD works on Windows, macOS and Linux. The source code of QCAD is released under the GPL version 3 (GPLv3), a popular Open Source license.


2D / 3D

FreeCAD

  • FreeCAD - a parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters. FreeCAD is open-source and highly customizable, scriptable and extensible. FreeCAD is multiplatfom (Windows, Mac and Linux), and reads and writes many open file formats such as STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE and many others.

OpenSCAD

  • OpenSCAD - software for creating solid 3D CAD models. It is free software and available for Linux/UNIX, Windows and Mac OS X. Unlike most free software for creating 3D models (such as Blender) it does not focus on the artistic aspects of 3D modelling but instead on the CAD aspects. Thus it might be the application you are looking for when you are planning to create 3D models of machine parts but pretty sure is not what you are looking for when you are more interested in creating computer-animated movies.m OpenSCAD is not an interactive modeller. Instead it is something like a 3D-compiler that reads in a script file that describes the object and renders the 3D model from this script file. This gives you (the designer) full control over the modelling process and enables you to easily change any step in the modelling process or make designs that are defined by configurable parameters.

gCAD3D

  • gCAD3D.org - has its own: import and export-programs (Step, Iges, VRML, DXF, SVG ..), integrated 3D-OpenGL viewer, program interpreter for geometry and NC commands in 3D, integrated NC processor, programming interface for userprograms (plugins), programming interface for RemoteControl, available for MS-Windows (32-bit), Linux (64 and 32-bit)

LinuxCAD

  • LinuxCAD - Simple, easy to use drafting/CAD program for Linux, Mac and Microsoft Windows XP or Vista. Features: 2D drafting /design/schematics/ER-diagramms, 3D wireframe, 3D shading. a discontinued product, originally written by Boris B Tkachenko consulting Software Engineer from Chicago, IL.

SolveSpace

LibreCAD

  • LibreCAD - a free Open Source CAD application for Windows, Apple and Linux. Support and documentation is free from our large, dedicated community of users, contributors and developers.

BRL-CAD

  • BRL-CAD - a powerful cross-platform Open Source combinatorial Constructive Solid Geometry (CSG) solid modeling system that includes interactive 3D solid geometry editing, high-performance ray-tracing support for rendering and geometric analysis, network-distributed framebuffer support, image and signal-processing tools, path-tracing and photon mapping support for realistic image synthesis, a system performance analysis benchmark suite, an embedded scripting interface, and libraries for robust high-performance geometric representation and analysis.

Web

  • Tinkercad - a simple, online 3D design and 3D printing app for everyone. Tinkercad is used by designers, hobbyists, teachers, and kids, to make toys, prototypes, home decor, Minecraft models, jewelry – the list is truly endless!

Resources

  • CADdetails - Free CAD drawings, 3D BIM models, Revit files and Specs
  • CAD Drawings - Browse CAD Drawings and download free architectural product information. Use the categories below to access free architectural files including AutoCAD CAD drawings, CAD details, CAD drawings, 3D BIM (Building Information Modeling), 3D Revit files, 3D SketchUp models, specifications and more.
  • Download Free, High Quality BIM Models - CADdetails.com - Designing in 3D is your portal to over 10,325 high definition 3D models. Explore our gallery of FREE AutoCAD, Revit (BIM) Models and SketchUp Models available in the latest file formats.



  • 3D ContentCentral - FREE 3D and 2D CAD Models of User-Contributed and Supplier-Certified Parts, Assemblies and more


  • Cadmapper - Instant CAD models of any location on Earth. Architects and urban planners use Cadmapper to save hours of routine drawing. It transforms data from public sources such as OpenStreetMap, NASA, and USGS into neatly organized CAD files.


3D APIs

OpenGL

  • CmdlineGL - a simple binary that reads a stream of OpenGL commands as text, renders them to an X11 window, and then writes any user input from the window to standard out. It enables any language capable of reading and writing text to then be able to build interactive graphical applications. This is an old project I wrote in college. It was my 6th entry in a series of "Abuse of Technology" projects where I would do something absurd that was also sort of cool or intriguing or surprising that it could even work. In this case, I was writing animated OpenGL demos in Bash, though it can be used in conjunction with any language.
  • OpenGL bindings for Bash - A project that started as a joke can be useful to people wanting to learn the concepts of OpenGL.


Vulkan

Rendering software


POV-Ray

  • POV-Ray - The Persistence of Vision Raytracer, a high-quality, Free Software tool for creating stunning three-dimensional graphics. The source code is available for those wanting to do their own ports.


Ptex

  • Ptex - a texture mapping system developed by Walt Disney Animation Studios for production-quality rendering:


Aqsis

  • Aqsis - a cross-platform photorealistic 3D rendering solution, adhering to the RenderMan interface standard defined by Pixar Animation Studios. The Aqsis project itself consists of a number of components, each useful in their own right, but contributing to the larger aims of the project as a whole. At this time, there are two such components: the aqsis rendering tools and the RIBMosaic exporter for Blender. Each component has its own area detailed below.

Kerkythea

  • Kerkythea - a freeware software that can produce high quality renders without spending a cent on software licensing. Kerkythea is using physically accurate materials and lights, aiming for the best quality rendering in the most efficient timeframe, with target to simplify the task of quality rendering by providing the necessary tools to automate scene setup, such as staging using the GL real-time viewer, material editor, general/render settings, editors, etc., under a common interface.

Sunflow

  • Sunflow - an open source rendering system for photo-realistic image synthesis. It is written in Java and built around a flexible ray tracing core and an extensible object-oriented design.

Grasshopper

  • Grasshopper - graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools. Unlike RhinoScript, Grasshopper requires no knowledge of programming or scripting, but still allows designers to build form generators from the simple to the awe-inspiring. 


ln

  • https://github.com/fogleman/ln - a vector-based 3D renderer written in Go. It is used to produce 2D vector graphics (think SVGs) depicting 3D scenes. The output of an OpenGL pipeline is a rastered image. The output of ln is a set of 2D vector paths.[2]


Panda3D

  • Panda3D - a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is Open Source and free for any purpose, including commercial ventures, thanks to its liberal license. Go ahead and grab it here. To learn more about Panda3D's capabilities, visit the gallery and the feature list. To learn how to use Panda3D, check the documentation resources. If you get stuck, ask for help from our community, which is very active.


Crystal Space 3D

  • Crystal Space 3D - a mature, full-featured Software Development Kit (SDK) providing real-time 3D graphics for applications such as games and virtual reality. It is free (LGPL) and cross-platform (Windows, GNU/Linux, Mac OS X).


Irrlicht

  • Irrlicht Engine - an open source high performance realtime 3D engine written in C++. It is completely cross-platform, using D3D, OpenGL and its own software renderers, and has all of the state-of-the-art features which can be found in commercial 3d engines. We've got a huge active community, and there are lots of projects in development that use the engine. You can find enhancements for Irrlicht all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings for java, perl, ruby, basic, python, lua, and so on. And best of all: It's completely free.


OGRE

  • OGRE - (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.


Mitsuba

  • Mitsuba - research-oriented rendering system in the style of PBRT, from which it derives much inspiration. It is written in portable C++, implements unbiased as well as biased techniques, and contains heavy optimizations targeted towards current CPU architectures. Mitsuba is extremely modular: it consists of a small set of core libraries and over 100 different plugins that implement functionality ranging from materials and light sources to complete rendering algorithms.

Ephtracy

  • Ephtracy - free lightweight 8-bit voxel art editor and interactive path tracing renderer, Windows/Mac [3]


Modelling and rendering

Blender



  • Blend Swap - Open Source 3D models by Blender users for Blender users. Come swap some blends with friends!

Sweet Home 3D

  • Sweet Home 3D - a free interior design application that helps you draw the plan of your house, arrange furniture on it and visit the results in 3D.


Render engines


Addons



Render farms



  • Crowdrender - helps you build a free render farm using your own hardware. Whether you render using GPU or CPU, our network rendering add-on will help you render your scenes amazingly quick using multiple computers.
  • Golem - a global, open source, decentralized supercomputer that anyone can access. It is made up of the combined power of users’ machines, from PCs to entire data centers.Golem is capable of computing a wide variety of tasks, from CGI rendering, through machine learning to scientific computing. Golem’s limitations are only defined by our developer community’s creativity. Golem creates a decentralized sharing economy of computing power and supplies software developers with a flexible, reliable and cheap source of computing power.



Wings 3D

  • Wings 3D - an advanced subdivision modeler that is both powerful and easy to use. Originally inspired by Nendo and Mirai from Izware, Wings 3D has been developed since 2001, when Björn Gustavsson (bjorng) and Dan Gudmundsson (dgud) first started the project. Richard Jones (optigon) maintained Wings and coded many new features between 2006 and 2011. Wings 3D is currently maintained by Dan and Richard with the help of the great community. Wings 3D offers a wide range of modeling tools, a customizable interface, support for lights and materials, and a built-in AutoUV mapping facility.

There is no support in Wings for animation.

SketchUp

  • SketchUp - friendly and forgiving 3D modeling software: we don’t sacrifice usability for the sake of functionality. Start by drawing lines and shapes. Push and pull surfaces to turn them into 3D forms. Stretch, copy, rotate and paint to make anything you like. Windows.

Shaders

  • The Book of Shaders - by Patricio Gonzalez Vivo and Jen Lowe. This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.




  • https://github.com/dancrn/shade - a quick-and-dirty glsl prototyping tool. it's like shader-toy, but with basically no features of shader-toy. but you can run it off-line, and not in a browser. it has only one dependency - SDL2. this is not intended to be a standalone tool per se, but rather just something that you can easily modify (and extend, if required) to prototype a shader. [10]

Web

  • VECTARY - the free, online 3D modeling software


  • p3d.in - sharing your 3D models online should be an enjoyable experience. p3d.in is simple, real-time and just works. Goodbye screenshots!


  • LambdaCube 3D - Haskell-like purely functional domain specific language for programming the GPU (graphics processing unit). The purpose of LambdaCube 3D is to provide a platform and host language independent graphics API. It allows the programmer to define the rendering pipeline with a single language, which is compiled into shaders and CPU-side setup code. Other parts of the program (e.g. networking or application logic) can be implemented in Haskell, C++ or JavaScript. LambdaCube 3D can be used for desktop and mobile applications, either in standalone applications or in browsers too.

WebGL




  • GPU text rendering with vector textures · Will Dobbie - A bezier curve shader. Our shader will run for every pixel we need to output. Its goal is to figure out what fraction of the pixel is covered by the glyph and assign this to the pixel alpha value3. If the glyph only partially covers the pixel we will output an alpha value somewhere between 0 and 1 — this is what gives us smooth antialiasing. [13]


  • stack.gl - an open software ecosystem for WebGL, built on top of browserify and npm. Inspired by the Unix philosophy, stackgl modules "do one thing, and do it well". It is easy to use parts of stackgl à la carte, and because it is written from the bottom up, you can always drill down a layer. Unlike many 3D engines, stackgl emphasizes writing shader code, and provides powerful tools like glslify which bring the modularity and productivity of npm to GLSL!


WebGLStudio.js

  • WebGLStudio.js - 3D Development environment for the web. WebGLStudio.js is a platform to create interactive 3D scenes directly from the browser. It allows to edit the scene visually, code your behaviours, edit the shaders, and all directly from within the app. [14]

Clara.io

  • Clara.io - a full-featured cloud-based 3D modeling, animation and rendering software tool that runs in your web browser. With Clara.io you can make complex 3D models, create beautiful photorealistic renderings, and share them without installing any software programs. This is the perfect Three.JS or Babylon.JS editor for creating and tweaking your Web game content.

Models



  • Sketchfab - Your 3D content on web, mobile, AR, and VR.

to sort



VR




WebVR

  • WebVR - Bringing Virtual Reality to the Web - an open specification that makes it possible to experience VR in your browser. The goal is to make it easier for everyone to get into VR experiences, no matter what device you have. You need two things to experience WebVR: a headset and a compatible browser. A JavaScript API for creating immersive 3D, Virtual Reality experiences in your browser. Works with the HTC VIVE, Oculus Rift, Samsung Gear VR, Google Daydream, and Google Cardboard.
  • WebVR Rocks - Your guide to Virtual Reality in the browser