Arcball-Graphics-Package | Improved Arcball Implementation with quaternion class
kandi X-RAY | Arcball-Graphics-Package Summary
kandi X-RAY | Arcball-Graphics-Package Summary
Arcball-Graphics-Package is a C++ library. Arcball-Graphics-Package has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
SAP is a simple header only library containing a templated quaternion implementation, a arcball implementation ( improved over traditional arcball, see white paper in repo), and a few other functions required to create MVP matricies. The library is written to be auto-vectorized when possible with the appropriate auto-vectorization flags per compiler. Unit testing implemented with doctest.
SAP is a simple header only library containing a templated quaternion implementation, a arcball implementation ( improved over traditional arcball, see white paper in repo), and a few other functions required to create MVP matricies. The library is written to be auto-vectorized when possible with the appropriate auto-vectorization flags per compiler. Unit testing implemented with doctest.
Support
Quality
Security
License
Reuse
Support
Arcball-Graphics-Package has a low active ecosystem.
It has 0 star(s) with 0 fork(s). There are 1 watchers for this library.
It had no major release in the last 6 months.
Arcball-Graphics-Package has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of Arcball-Graphics-Package is current.
Quality
Arcball-Graphics-Package has no bugs reported.
Security
Arcball-Graphics-Package has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
Arcball-Graphics-Package is licensed under the Apache-2.0 License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
Arcball-Graphics-Package releases are not available. You will need to build from source code and install.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Arcball-Graphics-Package
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Arcball-Graphics-Package
Arcball-Graphics-Package Key Features
No Key Features are available at this moment for Arcball-Graphics-Package.
Arcball-Graphics-Package Examples and Code Snippets
No Code Snippets are available at this moment for Arcball-Graphics-Package.
Community Discussions
No Community Discussions are available at this moment for Arcball-Graphics-Package.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Arcball-Graphics-Package
This is an example of common usage of the library. I've tried to make the functionality as self-evident and obvious as possible. Set With Euler Angles. Multiply a Matrix with Another Matrix Transposed. Cross Product of two 3 Dimensional Vectors. Normalize a 3 Dimensional Vector. Prints a 4x4 matrix. Calculate Magnitude of a Vec3. Calculate Difference of a Vec3.
Initalizaiton arcball arc; arc.SetCamera(camera, up_vector); arc.SetCenter(center_pos); arc.SetViewArea(window_width,window_height); // can omit these if okay with default values arc.SetProjectionVars(fov, z_near, z_far); arc.rotate_sensitivity = 0.004; arc.zoom_sensitivity = 0.2; arc.zoom_translate_sensitivity = 0.1;
Rotate Function if(is_scroll_clicked){ arc.Rotate(mouse_delta_x, mouse_delta_y); camera_pos = arc.Camera(); // If Needed for Shader click_delta_x = 0; click_delta_y = 0; }
Zoom Function if(is_scrolled){ // Distance From Center of Screen. Left and Up are Positive // Float Type Because of Possible Subpixel Resolution From OS float dis_x = 0.5*window_width - mouse_x; float dis_y = 0.5*window_height - mouse_y; arc.Zoom(dis_x, dis_y, scroll_ammount); camera_pos = arc.Camera(); // If Needed for Shader is_scrolled = false; }
Translate Function if(is_left_clicked){ arc.Translate(mouse_delta_x, mouse_delta_y); camera_pos = arc.Camera(); // If Needed for Shader }
ViewProjMatrix Function // Creates View Projection Matrix in Location Pointed to by viewproj float viewproj[16]; arc.ViewProjMatrix(viewproj);
MouseRay Function // Gets Direction Vector of Mouse Ray From Camera float ray[3]; arc.MouseRay(ray);
Initalizaiton arcball arc; arc.SetCamera(camera, up_vector); arc.SetCenter(center_pos); arc.SetViewArea(window_width,window_height); // can omit these if okay with default values arc.SetProjectionVars(fov, z_near, z_far); arc.rotate_sensitivity = 0.004; arc.zoom_sensitivity = 0.2; arc.zoom_translate_sensitivity = 0.1;
Rotate Function if(is_scroll_clicked){ arc.Rotate(mouse_delta_x, mouse_delta_y); camera_pos = arc.Camera(); // If Needed for Shader click_delta_x = 0; click_delta_y = 0; }
Zoom Function if(is_scrolled){ // Distance From Center of Screen. Left and Up are Positive // Float Type Because of Possible Subpixel Resolution From OS float dis_x = 0.5*window_width - mouse_x; float dis_y = 0.5*window_height - mouse_y; arc.Zoom(dis_x, dis_y, scroll_ammount); camera_pos = arc.Camera(); // If Needed for Shader is_scrolled = false; }
Translate Function if(is_left_clicked){ arc.Translate(mouse_delta_x, mouse_delta_y); camera_pos = arc.Camera(); // If Needed for Shader }
ViewProjMatrix Function // Creates View Projection Matrix in Location Pointed to by viewproj float viewproj[16]; arc.ViewProjMatrix(viewproj);
MouseRay Function // Gets Direction Vector of Mouse Ray From Camera float ray[3]; arc.MouseRay(ray);
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page