Comments (8)
The visible points will offset according to the plot limits. You're only displaying about 1000-2000 points in those screenshots. In the demo, each X-axis point has a delta of 0.01, so the truncation becomes visible when the X-axis range spans any range wider than ~16. You can modify X limits with click and drag or mousewheel while hovering the X-axis. Panning back and forth with more than 16k point range makes the truncation obvious.
from cimgui.jl.
When _VtxCurrentIdx
passes 16k, it should be reset to 0 and add a new drawing command. It looks like implot does nothing about this.
from cimgui.jl.
Should be fixed by epezent/implot#41.
from cimgui.jl.
The fix is now merged into implot (with a number of other optimizations). There was also a commit merged to imgui master that addresses the same issue (although I don't think it's entirely mandatory since (in my hands) local C++ builds using v1.76 imgui + latest implot can render high vertex plots without the culling). In either case, it looks like v1.77 imgui is nearing, so when that happens we should be good to go. Closing this issue since it appears to have been solved upstream.
from cimgui.jl.
I got a sinusoidal noisy wave. How could I know the number of points plotted?
Oops! Never mind. I just found the way to get the number, but it works normally on my machine:
from cimgui.jl.
Issue raised because (supposedly) this is fixed within imgui itself (from discussion above):
If you plan to render several thousands lines or points, then you should consider enabling 32-bit indices by uncommenting #define ImDrawIdx unsigned int in your imconfig.h file, OR handling the ImGuiBackendFlags_RendererHasVtxOffset flag in your renderer (the official OpenGL3 renderer supports this). If you fail to do this, then you may at some point hit the maximum number of indices that can be rendered.
I'm pretty sure this has been fixed in #12. However, I only tested it on macOS, so there might be something wrong on other platforms.
from cimgui.jl.
For line plots, the argument can be made that displaying data ranges more than 1-2X your monitor's horizontal resolution is a waste (I plan to work around this for now by downsampling data). However, this might be a pain for other types of plots or more complex generic rendering in the future.
If it's not truly fixed by the backend implementation, the easiest alternative might be to include the macro/pre-processor definition mentioned in the readme when building (perhaps when we make the move to v1.76).
from cimgui.jl.
The macro definition method is not recommended in ocornut/imgui#2591:
If you've been using 32-bits indices, I would appreciate if you try to revert back to 16-bit indices and use this feature (need to update your renderer).
The back-end implementation is ported from imgui's opengl3 implementation, it should work correctly(e.g. https://github.com/inkydragon/Jui.jl/blob/Fractal-demo/test/LargeMeshTest.jl#L52).
I didn't read the implot source code, but I guess the problem is likely due to it doesn't handle VtxOffset
correctly when doing the line plot.
from cimgui.jl.
Related Issues (20)
- Broken after update HOT 8
- Memory leak HOT 15
- Difficulties with current Renderer.jl HOT 2
- No GUI shown with compiled julia app using CImGui HOT 14
- CImGui fails precompilation at `idGET_FLT_MAX()` HOT 1
- Columns - Horizontal Scroll demo not working in v1.79.0 HOT 3
- TagBot trigger issue HOT 6
- the CImGui.Text(text) function segfaults on aarm (v1.82) HOT 15
- Example code doesn't actually run HOT 6
- Input widgets with different IDs conflict with each other? HOT 5
- How can I get ImGuiWindowClass?
- The getproperty and setproperty! method of ImNodesStyle was not provided
- On some Windows machine, got glfwCreateWindow error HOT 2
- Regenerate new wrapper libraries for fresh ImGui and ImPlot versions? HOT 1
- An error occurs when I use ImGuiTextFilter in a package
- SDL Backend Support? HOT 6
- I can not run the demo HOT 5
- ImGuiKey_KeyPadEnter not defined, when running demo HOT 2
- Upgrading Guide: 1.79 to 1.82
- Expand tests HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cimgui.jl.