Commit Graph

67 Commits

Author SHA1 Message Date
erwin coumans
7de63bdbc5 fix tiny_renderer standalone example 2021-09-01 15:00:01 -07:00
Erwin Coumans
1452cae641 * add textured models of ball.vtk (obj/mtl) and torus (obj/mtl) and cloth.
1) allow to render deformables in 'getCameraImage', for TinyRenderer (tested OK) and EGL (untested)
2) allow to have textures for deformables. See deformable_ball.py, deformable_anchor.py and deformable_torus.py for examples
3) deformables: allow to request simulation mesh data (even if there is a render mesh) See deformable_anchor.py for an example usage
   data = p.getMeshData(clothId, -1, flags=p.MESH_DATA_SIMULATION_MESH)
4) fix deletion of deformables, thanks to Fychuyan, https://github.com/bulletphysics/bullet3/pull/3048
5) allow to enable and disable double-sided rendering, p.changeVisualShape(objectUid, linkIndex, flags=p.VISUAL_SHAPE_DOUBLE_SIDED)
6) fix GripperGraspExample, model not found
7) Fix deformable anchor not attaching to multibody with object unique id of 0
8) Fix issue with assignment of unique ids in TinyRenderer/EGL renderer (always use broadphase uid)
9) Avoid crash/issue of simulation with pinned vertices (mass 0) in btDeformableBackwardEulerObjective::applyExplicitForce
10) Store uv/normal in btSoftBody::RenderNode to allow textured meshes
11) (uncomment in btSoftBodyHelpers.cpp): dump vertices and indices in obj wavefront format, when loading a VTK file, for quicker creation of a (textured) surface mesh
12) allow interpolateRenderMesh also for old position-based soft bodies (not only the shiny new FEM deformables)
13) fix a few premake targets
14) update build_visual_studio_vr_pybullet_double_cmake.bat so it suits c:\python37 and installs locally
    for local install of Bullet, see also this example https://github.com/erwincoumans/hello_bullet_cmake
2020-09-12 01:03:04 -07:00
Erwin Coumans
ff229baf1e TinyRenderer: support plane shape (creating similar textured plane to OpenGL renderer)
TinyRenderer: perform clipping in double precision to improve accuracy
2020-08-10 20:19:00 -07:00
Marcel Smit
40e44caedd Put TinyRender functions and classes inside a TinyRender namespace. The TinyRender library defines some classes with very generic names, such as vec, Matrix, Model, which in my case, when compiling the example browser using a different library for graphics, is giving me name clashes. 2020-02-14 11:54:25 +01:00
Erwin Coumans
31e778c913 avoid crashes in TinyRenderer 2019-10-09 22:26:20 -04:00
erwincoumans
a8e1be3b33
Update TinyRenderer.cpp
create a cube using x,y,z not x,y,y
2019-07-30 17:48:59 -07:00
Erwin Coumans
0409478152 use certain methods from std namespace 2019-03-23 12:45:59 -07:00
Erwin Coumans
5f954e2496 backward compatibility fix 2018-10-09 16:25:32 -07:00
erwincoumans
dba239fe8d First pass of load files through an interface (to allow loading from memory, zip file etc). So instead of posix fopen/fread, using CommonFileIOInterface.
A fileIO plugin can override custom file IO operations. As a small test, load files from a zipfile in memory.
Default fileIO implementation is in examples/Utils/b3BulletDefaultFileIO.h
Affects URDF, SDF, MJCF, Wavefront OBJ, STL, DAE, images.
2018-10-08 21:27:08 -07:00
erwincoumans
ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
Erwin Coumans
5517cbc4e0 add segmask_linkindex.py example using p.getCameraImage(320,200,flags=p.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX)
to extract object unique id and link index from segmentation mask in getCameraImage
2017-12-28 12:37:07 -08:00
Erwin Coumans
afd1066c50 pybullet.getCameraImage: preparation to expose link index in segmentation mask buffer 2017-12-28 10:18:35 -08:00
Erwin Coumans
26d32f2aa8 improve loading performance of large textures:
option to disable tinyrenderer, use p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
also make sure to use p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0) before loadURDF, and enable rendering afterwards using p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,1)
reorder 2 loops, making the flip texels twice as fast (cache coherency),
single memcpy of entire texture in tinyrenderer, instead of per-pixel copy (memory layout is the same)
add lots of B3_PROFILE timings, to see where time is going
2017-10-06 13:46:24 -07:00
Erwin Coumans
9213f944f1 add kukaCamGymEnv.py with camera observations (preliminary)
show camera position in example browser
disable per-vertex and per-fragment profile timings
2017-06-21 09:33:46 -07:00
Erwin Coumans
8c6d4a4c85 also initialize near/far for depth shader in TinyRenderer 2017-05-26 09:45:26 -07:00
Erwin Coumans
2b9c67b07c TinyRenderer: discard pixels beyond farplane
pybullet: printf build date/time
2017-05-25 17:25:14 -07:00
Erwin Coumans
7cb763e4c8 don't render objects with zero alpha color (RGBA) 2017-05-13 07:38:00 -07:00
yunfeibai
c938e42a19 Optimize tinyrender by precompute matrix multiplication in vertex shader. 2017-05-09 14:11:01 -07:00
yunfeibai
28de699e70 Add back face culling based on world space coordinates. 2017-05-09 13:49:13 -07:00
yunfeibai
56f9c38226 Use float when clipping the shadow map index, because the index before clipping can be out of the range for int. 2017-04-25 18:28:56 -07:00
Erwin Coumans
4759e5a590 tinyrenderer: disable triangle backface culling (doesn't work well, cull triangles that should be visible)
GLInstancingRenderer: allow to set the light position
2017-04-23 07:35:13 -07:00
Erwin Coumans
c3cc53d5aa TinyRenderer, apply backface culling 2017-04-13 11:06:38 -07:00
Erwin Coumans
d6125ecb8c fix in tinyrenderer clipping logic 2017-04-06 17:43:40 -07:00
Erwin Coumans
deb95c758b TinyRenderer: implement triangle clipping against near-plane
TinyRenderer: implement texture UV-repeat by default (instead of clamp(0,1))
2017-04-06 14:31:34 -07:00
Erwin Coumans
c0c4c8ba3f fix many warnings
remove btMultiSapBroadphase.*
make collisionFilterGroup/collisionFilterMark int (instead of short int)
2017-01-15 22:26:11 -08:00
yunfeibai
4af7ee3b2e Fix a bug when rendering texture. 2016-12-09 17:17:24 -08:00
yunfeibai
388cba152e Fix error in integration test. 2016-12-07 11:41:55 -08:00
yunfeibai
9c4222ea9e Modify shader so that the color of the light and the shadow don't affect the ambient component. 2016-12-07 11:33:26 -08:00
yunfeibai
c253c750b9 Expose ambient, diffuse and specular coefficient of the light. 2016-12-06 15:21:35 -08:00
yunfeibai
08b449f149 Adjust magic number to prevent z-fighting. 2016-12-06 13:36:41 -08:00
yunfeibai
a88272de1b Restore the old constructor for TinyRenderObjectData for backward compatibility. 2016-12-01 16:47:11 -08:00
yunfeibai
e8ff969a6f Merge remote-tracking branch 'upstream/master' 2016-11-29 14:17:38 -08:00
yunfeibai
8aa90a7427 Refactor shader and render pipeline code. 2016-11-29 12:53:50 -08:00
yunfeibai
86c5dfe8f4 Fix the light color issue in box rendering example. 2016-11-29 11:43:52 -08:00
yunfeibai
5fe36ca200 Clean global variables. 2016-11-29 11:11:41 -08:00
yunfeibai
d48b03f23b Use the barycentric coordinate to get the coordinate in shadow buffer. 2016-11-28 10:13:09 -08:00
yunfeibai
0bc4e0a4c3 Render multiple objects with shadow. 2016-11-27 16:53:15 -08:00
yunfeibai
529274a3f4 Render shadow of torus with shadow buffer and index from triangle order. 2016-11-27 15:32:55 -08:00
yunfeibai
29809a4471 Render depth buffer. 2016-11-23 13:00:26 -08:00
Erwin Coumans
ca71b84913 fix uninitialized m_lightColor (see ExampleBrowser/Rendering/TinyRenderer, Software was black. 2016-11-21 22:33:23 -08:00
yunfeibai
24b3e137a6 Render shadow with depth from light. 2016-11-21 10:21:14 -08:00
yunfeibai
5be4409a1a Render shadow buffer. 2016-11-21 09:13:20 -08:00
erwincoumans
0d5dcb3cc5 setDebugObjectColor 2016-11-21 07:42:11 -08:00
yunfeibai
93ba8af023 Add shared memory API to change light color. 2016-11-20 12:52:12 -08:00
erwincoumans
36b144ffa6 Merge pull request #769 from iwilkes1/master
Add Phong reflection to TinyRenderer
2016-09-21 08:14:18 -07:00
Erwin Coumans
f9679bd594 prevent an issue in TinyRendererSetup example 2016-09-14 00:30:58 +01:00
Ian Wilkes
2336be02e4 Added Phong refelction to the TinyRenderer Shader. 2016-09-02 11:56:03 -07:00
Ian Wilkes
ba583feb7f Updated TinyRenderer intensity paramater.
Switched from ranging from 0 to 1 - ambient to -1 * (1-ambient) to (1-ambient).
2016-09-02 11:56:03 -07:00
Erwin Coumans
17c16ccfa0 pybullet, deal with overflow of joints (maximum of 128 joints/links per multibody at the moment)
increase from 64 to 128 joints in shared memory API/pybullet
fix potential issue in tinyrenderer, related to missing segmentation mask buffer
report error if CMD_REQUEST_ACTUAL_STATE command on a multibody that exceed the number of links,
todo: stream data to allow arbitrary large number of links in shared memory API
2016-08-17 19:35:52 -07:00
Erwin Coumans
238ba8c642 remote a c++11-style constructor 2016-08-12 14:28:02 -07:00