GithubHelp home page GithubHelp logo

asst0_environment's Introduction

UTD CS6323 Compute Animation and Gaming

Getting started

We will be distributing assignments with git. You can find the repository for this assignment at https://github.com/CS6323utd/asst0_environment. If you are unfamiliar with git, here is what you need to do to get the starter code:

$ git clone https://github.com/CS6323utd/asst0_environment.git

This will create an asst0_environment folder with all the source files.

Build Instructions

In order to ease the process of running on different platforms, we will be using CMake for our assignments. You will need a CMake installation of version 3.5+ to build the code for this assignment. It should also be relatively easy to build the assignment and work locally on your OSX. Building on Linux is still working in process. Building on Windows is currently not supported, please refers to the old tuitorial.

If you are working on OS X and do not have CMake installed, we recommend installing it through Homebrew:

brew install cmake

Build

To build your code for this assignment:

$ cd asst0_environment && mkdir build && cd build
$ cmake ..
$ make

These steps (1) create an out-of-source build directory, (2) configure the project using CMake, and (3) compile the project. If all goes well, you should see an executable app in the build directory. As you work, simply typing make in the build directory will recompile the project.

Run

When you have successfully built your code, you will get an executable named helloworld. The helloworld executable do not take any argument.

To run your executable file:

# under build folder
$ ./helloworld

When you first run the application, you will see a colored triangle on GUI.

FAQ / Dependencies / Troubleshooting

There are several dependencies we need to rely on, but for most of them you do not need to do anything, we've configured all of them through CMake. This section is just for you to be aware of these dependencies. If you have any issue during building process, please double check following dependencies before coming to TA's office hour.

1. C++11 and OpenGL

You DO NOT need XCode for this assignment, although Command Line Tools is required. These two should already setup in MacOS by default. You can verify by running:

# shows gcc version
$ gcc -v 

# shows "/Library/Developer/CommandLineTools"
$ xcode-select -p

# if swith from xcode to CLT
$ sudo xcode-select -s /Library/Developer/CommandLineTools

# if not installed, then run
$ xcode-select --install

2. GLEW

We provide GLEW in our library (under deps folder), therefore, you DO NOT need to do anything.

However, some might encounter follwing issue during while running make:

ld: library not found for -lglew

and one possible solution (from StackOverlow post), add following line to file ~/.bash_profile:

# double check your glew location
# ATTENTION: version number might be different!!!!
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/Cellar/glew/2.1.0_1/lib/"

then run source to execute the change:

source ~/.bash_profile

If you want to use system GLEW, you can run following command to install GLEW then update CMakeLists.txt ON YOUR OWN.

######## OPTIONAL ######## 
$ brew install glew
# remember to update CMakeLists.txt
######## OPTIONAL ######## 

3. NanoGUI

We setup these dependencies in our cmake/*.cmake files, therefore, you DO NOT need to do anything about it.

4. GLFW

We will use the GLFW provided in NanoGUI, therefore, you DO NOT need to do anything.

However, If you want to use system GLFW, you can run following command to install GLFW then update CMakeLists.txt ON YOUR OWN.

######## OPTIONAL ######## 
$ brew install glfw3
# remember to update CMakeLists.txt
######## OPTIONAL ######## 

Acknowledge

This repo also use DownloadProject (https://github.com/Crascit/DownloadProject) for downloading and configuring NanoGUI (including GLFW).

asst0_environment's People

Contributors

ningnawang avatar

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.