Commit Graph

88 Commits

Author SHA1 Message Date
erwin coumans
7de63bdbc5 fix tiny_renderer standalone example 2021-09-01 15:00:01 -07:00
Vaclav Brozek
364e98c92d Optimize calls to find*() for a single char.
The character literal overload is more efficient.
2021-03-02 18:59:31 +01:00
erwincoumans
e3274d7fc1
Update model.cpp
fix uv wrapping, thanks to Marek
2020-10-27 13:38:01 -07:00
Erwin Coumans
1bd82e7d81 allow rendering of (textured) heightfield in TinyRenderer and EGL.
Also update normals, if heightfield is updated.
2020-09-20 16:03:56 -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
bbf983bfbb reserve faces (minor performance improvement?) 2019-11-08 16:10:05 -08: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
Michel Breyer
8257429964 Fix error discarding fragments in our_gl 2017-11-17 14:49:12 +01:00
Erwin Coumans
4d803c104b #include <string.h> // for memcpy 2017-10-06 14:04:43 -07: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
723b356667 also discard pixels in front of nearplane 2017-05-25 19:55:55 -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
e363e12ea4 Add default specular when there is not specular map. Add example for adjusting specular coefficient. 2017-05-07 21:09:08 -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
82b576a390 fixed a bug that prevented kitchens/1.sdf to render properly (local scaling was double applied)
disable some left-over clipping that was moved to another part of the code
2017-04-06 21:13:23 -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
erwincoumans
0c26fee04d Merge pull request #886 from erwincoumans/master
some VR tweaks and bugfix for issue #878
2016-12-11 12:53:47 -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
erwincoumans
e5aea04e23 add back the 'swapBuffers' in VR demo (slightly lower performance, but easier to use demo.
fix issue related to TinyRenderer shadowbuffer API change
2016-12-02 13:23:50 -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
b40c9cde96 Add torus shadow render example. 2016-11-29 13:50:49 -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