Coder Social home page Coder Social logo

nvisii's People

Contributors

blaine141 avatar ingowald avatar markusfoote avatar natevm avatar neburski avatar tontontremblay avatar zcczhang 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nvisii's Issues

Apply a base transformation to entity

When loading meshes from URDF (this the robot scene definition) we sometimes have to redfine the origin of the mesh, could we do that in visii as well so it would make it easier to align visii with pybullet in the future.

Feature Request: search paths

It would be great if there was a visii.add_search_path that we could use to lookup textures and meshes.

However, the order of these search paths might add a level of complexity, and we increase technical debt for any potential file loading operation we might need to maintain or create in the future.

mesh.create_from_data

remove the visii.vec4 for position needed turn into a visii.vec3 or even better numpy array for all of that function.

can you load scenes from pybullet?

So I have scenes in pybullet saved by pybullet.saveWorld function, is there a simple way to load this into ViSII? Or I have to convert each object in the scene into obj file and record their positions and orientations and recreate them?

Weird error message when driver is out of date

When the user has an outdated driver (less than 450), they're given the following error message:

Optix call (optixInit()) failed with code 7801 (line 150)
terminate called without an active exception
Aborted (core dumped)

We should give a more helpful error message to guide users to upgrade their driver.

Expose renderer random seed

When generating training data for, e.g., denoising, I want to be able to initialize the render with different seeds for the noisy input vs. reference image, to ensure that the two renders of the same frame use uncorrelated random numbers.

ViSII namespace for c++ api

Right now, functions and components are in the global namespace, but should be moved to a "visii" namespace

need get_parent and get_children in transform

I would like to be able to move up and down the tree. get_children should return a list of transform, get parent should return a single transform. If the either exists, just return None.

Some confusion between visii.load_obj and visii.mesh.create_from_obj

The visii.load_obj one separates objects by material ID, creating a list of entities containing transform, mesh, and material components.

The visii.mesh.create_from_obj ignores the corresponding .mtl file, and instead merges all shapes in the OBJ into a single mesh component.

Feature request: background motion vectors

This would be how we might compute those.

               AffineSpace3fa mtxT0 = m_background->getProbeToWorldT0();
                AffineSpace3fa mtxT1Inv = m_background->getTransformT1();
                const float envDist = 10000.0f; // large value
                // Point far away
                Vec3fa pfar = ray.org + ray.dir * envDist;
                // Apply transform
                Vec3fa pT0 = xfmPoint(mtxT1Inv, xfmPoint(mtxT0, pfar));
                Vec3fa pT1 = pfar; 
                // World to camera space
                Vec3fa p0c = xfmPoint(world2local, pT0);
                Vec3fa p1c = xfmPoint(world2local, pT1);
                // Project to screen space
                float aspect = (float)m_width / (float)m_height;
                float x0s = m_fovscale / aspect * p0c.x / p0c.z; 
                float y0s = m_fovscale * p0c.y / p0c.z;          
                float x1s = m_fovscale / aspect * p1c.x / p1c.z; 
                float y1s = m_fovscale * p1c.y / p1c.z;          
                float CoC = m_render_param.apertureSize / m_render_param.focusDepth;
                MV = Vec3ff(0.5f * (x0s - x1s), 0.5f * (y1s - y0s), CoC, 1.0f); // Screen space MV

Improve documentation for "get_name_to_id_map" functions

It's easy to think that the following is correct:

a = entity.get_name_to_id_map()
for i,v in enumerate(a):
    entity_id = i

However! The "a" here that's returned by get_name_to_id_map is a python dictionary containing both keys as well as values.
And so when doing enumerate(a), the "i" that's returned by enumerate is not the ID of the entity, but rather, some arbitrary incrementing index.

Instead, you should do:

a = entity.get_name_to_id_map()
for key, value in a.items(): 
    entity_id = key
    entity_name = value

It might be a good idea to spell this out a bit more in the documentation and/or examples.

Motion vectors

For animated sequences, add support for dumping the motion vectors

A few installation issues using artifact

When I installed ViSII using artifact, I met some issues. Here are some solutions:

First, make sure VISII_HOME includes the directory that contains the artifact files. Then add these lines to your .bashrc:

export PATH="${PATH}:${VISII_HOME}"
export PYTHONPATH=${VISII_HOME}
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${VISII_HOME}"

(1) If you are using conda, make sure your LD_LIBRARY_PATH includes anaconda libraries. One way to guarantee that is to add something like this line in your .bashrc:
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/guanya/anaconda3/lib"

(2) Make sure your NVIDIA driver and CUDA are updated. See https://ingowald.blog/installing-the-latest-nvidia-driver-cuda-and-optix-on-linux-ubuntu-18-04/ about how to install the latest NVIDIA driver and CUDA on Ubuntu. For me (GTX 1080), my driver version is 450.36.06 and my CUDA version is 11.0. You can check them using nvidia-smi and nvcc --version.

(3) One way to check the installation is to do
import visii
visii.initialize_interactive()
in Python. You will see a box like this if installing succesfully.
Screenshot from 2020-06-25 00-20-11

accessing a deleted entity seg fault

from visii import *
import visii 

visii.Initialize()
a = visii.Entity_Create("john")
print(a.to_string())
visii.Entity_Delete("john")
print(a)
print(a.to_string())

STL loading

Or maybe an example from creating a mesh from raw data. or maybe a stl loading from python to visii. Or stl loading directly in visii.

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.