GithubHelp home page GithubHelp logo

quantitativebytes / qbraytrace Goto Github PK

View Code? Open in Web Editor NEW
38.0 38.0 10.0 136 KB

Welcome to my new series on building a ray tracer from scratch in C++ with the SDL2 library! Follow me in this 'code with me' style series as I build a simple but functional ray tracer from scratch in C++. As far as possible, I use only the standard libraries, with the addition of SDL2 to allow the display of the final image in a window.

License: GNU General Public License v3.0

C++ 99.49% Makefile 0.51%

qbraytrace's Introduction

HeaderImage

Hi there ๐Ÿ‘‹

I firmly believe that no problem can be solved unless it can first be measured. I specialize in writing software to make quantitative measurements from multi-dimensional raw data, bringing new intelligence to clinical and research problem solving. I primarily code in Matlab, C++ and Python, using whichever tool is most appropriate to the problem at hand. Working at the boundary between data science and software engineering, I have extensive experience of all aspects of research software development, ranging from the design and implementation of fundamental image and signal processing algorithms, through user-interface design and implementation, to statistical analysis and reporting.

I am a passionate believer in the value of sharing my enthusiasm for and knowledge of science and engineering to educate and inspire others. In my spare time I run the QuantitativeBytes YouTube channel for exactly this purpose, with a focus on scientific computing. I create educational content and tutorials on a variety of topics with an emphasis on practical implementation, focusing mostly on development in C++ and Python. You can check it out at the links below:

๐Ÿ”— QuantitativeBytes YouTube Channel

๐Ÿ”— QuantitativeBytes Facebook Page

qbraytrace's People

Contributors

quantitativebytes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

qbraytrace's Issues

Problem building EP7

Hi there.
This tutorial is simply great and what I needed to get into RT from scratch!
Thanks a lot!

I'd have a question...
I'm trying to ensure that I can make this code work in my environment (VS Code on Mac) and I found that after EP7 I can't build the code. I can without issues until EP6.
I get errors such as...
Undefined symbols for architecture x86_64: "qbRT::ObjectBase::AssignMaterial(std::__1::shared_ptr<qbRT::MaterialBase> const&)", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::ObjectBase::SetTransformMatrix(qbRT::GTform const&)", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::PointLight::PointLight()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::PointLight::~PointLight()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::MaterialBase::ComputeDiffuseColor(std::__1::vector<std::__1::shared_ptr<qbRT::ObjectBase>, std::__1::allocator<std::__1::shared_ptr<qbRT::ObjectBase> > > const&, std::__1::vector<std::__1::shared_ptr<qbRT::LightBase>, std::__1::allocator<std::__1::shared_ptr<qbRT::LightBase> > > const&, std::__1::shared_ptr<qbRT::ObjectBase> const&, qbVector<double> const&, qbVector<double> const&, qbVector<double> const&)", referenced from: qbRT::Scene::Render(qbImage&) in scene-7e9451.o "qbRT::MaterialBase::~MaterialBase()", referenced from: qbRT::SimpleMaterial::SimpleMaterial(qbRT::SimpleMaterial const&) in scene-7e9451.o "qbRT::SimpleMaterial::SimpleMaterial()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::SimpleMaterial::~SimpleMaterial()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::ObjPlane::ObjPlane()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::ObjPlane::~ObjPlane()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::ObjSphere::ObjSphere()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "qbRT::ObjSphere::~ObjSphere()", referenced from: qbRT::Scene::Scene() in scene-7e9451.o "vtable for qbRT::ObjectBase", referenced from: qbRT::ObjectBase::ObjectBase(qbRT::ObjectBase const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for qbRT::PointLight", referenced from: qbRT::PointLight::PointLight(qbRT::PointLight const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for qbRT::MaterialBase", referenced from: qbRT::MaterialBase::MaterialBase(qbRT::MaterialBase const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for qbRT::SimpleMaterial", referenced from: qbRT::SimpleMaterial::SimpleMaterial(qbRT::SimpleMaterial const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for qbRT::ObjPlane", referenced from: qbRT::ObjPlane::ObjPlane(qbRT::ObjPlane const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for qbRT::LightBase", referenced from: qbRT::LightBase::LightBase(qbRT::LightBase const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for qbRT::ObjSphere", referenced from: qbRT::ObjSphere::ObjSphere(qbRT::ObjSphere const&) in scene-7e9451.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

What is different in this Episode that prevents me of building?
Thanks again a regards!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.