Emil Ernerfeldt
66d80e2519
Texture loading in egui ( #1110 )
...
* Move texture allocation into epaint/egui proper
* Add TextureHandle
* egui_glow: cast using bytemuck instead of unsafe code
* Optimize glium painter
* Optimize WebGL
* Add example of loading an image from file
2022-01-15 13:59:52 +01:00
Emil Ernerfeldt
190c85a40f
Rename Texture
to FontImage
2021-12-28 21:19:24 +01:00
Emil Ernerfeldt
cda4c8ba13
Minor cleanup following https://github.com/emilk/egui/pull/999
2021-12-28 13:22:01 +01:00
Emil Ernerfeldt
b7441eeee7
Make epi::Frame cloneable so you can allocate textures in other threads ( #999 )
...
Closes https://github.com/emilk/egui/issues/673
Also adds `epi::Image`
2021-12-26 21:21:28 +01:00
Emil Ernerfeldt
78dfde40b2
Remove deprecated functions
2021-10-30 09:46:06 +02:00
Emil Ernerfeldt
d97a369c44
End statements with semicolon (clippy::semicolon_if_nothing_returned)
2021-10-20 16:46:57 +02:00
Emil Ernerfeldt
8178d23d19
Deduplicate code found in both egui_glium and egui_glow ( #819 )
...
* Move window building to egui-winit
* Move icon loading to egui-winit
* `use glow::HasContext;` -> `use glow::HasContext as _;`
* Move FileStorage into epi behind a feature flag
* De-duplicate screen_size_in_pixels and native_pixels_per_point
* Move creation of FileStorage to epi
* Handle epi app output (window size changes etc) in egui-winit
* Move app and memory persistence and autosave logic to egui-winit
* fix check.sh
* Make the epi backend opt-in for egui_glium and egui_glow
* Fix persistence
* Add integration name to epi::IntegrationInfo and the demo
* Clean up Cargo.toml files and fix making egui_glium optional
* fix typo
* Make egui_glium compile without the `epi` feature
2021-10-19 21:40:55 +02:00
Emil Ernerfeldt
1b36863248
Split out new crate egui-winit from egui_glium ( #735 )
2021-09-28 17:33:28 +02:00
Emil Ernerfeldt
cf17cb2065
egui_glium: allow sharing a native glium texture using Rc
2021-09-20 22:52:29 +02:00
triangle drawer
203d571c8b
Add api for accessing backend texture via epi ( #695 )
...
* Define NativeTexture trait for offscreen rendering
add demo for NativeTexture trait
* write changelog
* add comment for native texture example
* formatting
* add license of Rust logo
* NativeTexture trait method rename
remove duplicate function with native texture
remove rust logo
* deprecated notice for register_glium_texture,register_webgl_texture
* collect deprecated notice
2021-09-05 11:00:45 +02:00
JerzySpendel
56502fbb3c
Make paint function accept anything implementing Surface trait ( #681 )
...
* Make paint function accept anything implementing Surface trait
* Remove unused imports
2021-09-02 14:44:50 +02:00
Emil Ernerfeldt
784bac53f1
Improve error message on bad texture allocation
...
Fixes https://github.com/emilk/egui/issues/592
2021-07-29 22:20:22 +02:00
Emil Ernerfeldt
0d71017ad4
clippy fixes for rust 1.52
2021-05-06 20:49:22 +02:00
Emil Ernerfeldt
7f0689e566
Refactor egui_glium with new EguiGlium wrapper and standalone example
2021-04-25 17:02:27 +02:00
Emil Ernerfeldt
4fc3c6d375
Remove unnecessary copy of mesh indices in glium painter
2021-04-05 14:23:42 +02:00
Emil Ernerfeldt
f5c372910c
Replace emath::clamp with f32::clamp (new in rustc 1.50)
2021-03-21 17:47:03 +01:00
triangle drawer
b1883d5d48
Add functions to register textures in egui_web and egui_glium ( #226 )
...
* add texture registering function
* fmt
* Revert "add texture registering function"
This reverts commit f9b4db12
* make get_texture public to get render target owned by Painter .
* revert egui_web painter.rs change
2021-03-13 12:41:51 +01:00
Emil Ernerfeldt
82350a2f1e
Improve documentation
2021-02-21 10:12:08 +01:00
Kayo Phoenix
c9919daa11
Added shaders on GLSL 1.2 ( #187 )
...
* Added shaders on GLSL 1.2
- Used `glium::program` to create shaders
- Moved shaders code to its own sources and include it as str
- Added shaders implementation on GLSL which allows run egui on old hardware
(Raspberry Pi 1/zero in game again)
* Moved webgl shaders code to sources in `shader` subdir
* Added GLSL ES shaders to glium backend to support OpenGL ES
* Described changes related to GLSL versions support
2021-02-20 19:48:02 +01:00
Emil Ernerfeldt
7dad76b913
Use explicit epaint
over paint
alias (re-export)
...
egui reexports the `epaint` crate both under its original name
and under the alias `paint` (for historical reasons)
2021-02-14 10:53:39 +01:00
Emil Ernerfeldt
6d255cd179
Use explicit emath
to math
alias
...
egui exports `emath` under its original name AND under the alias `math`
(for historical reasons).
2021-02-14 10:44:46 +01:00
Emil Ernerfeldt
5906bf7a87
Fix clippy 1.50 lints
2021-02-12 17:40:53 +01:00
Emil Ernerfeldt
b493bc6efc
Wrap tesselated output in struct ClippedMesh(Rect, Mesh)
2021-01-25 21:43:17 +01:00
Emil Ernerfeldt
75fa77e040
Rename Triangles to Mesh
2021-01-25 21:23:24 +01:00
Emil Ernerfeldt
31b7eda51e
Rename Egui to egui
...
Also update iamges in README.md
2021-01-17 14:48:59 +01:00
Emil Ernerfeldt
2854a84728
Improve documentation about how to write a painter for egui
2021-01-17 02:12:29 +01:00
walterpie
b08870dcee
Make egui_glium::painter::Painter::paint_job
pub ( #100 )
...
* Make `egui_glium::painter::Painter::paint_job` pub
The background is: I'm working on an engine where I would like to draw the gui and the game to the same `glium::Frame`. Haven't found any other obvious, trivial solution. I could of course write my own integration, but I just think this makes sense to be public.
* Make two other necessary functions public
2021-01-11 09:35:47 +01:00
Emil Ernerfeldt
fe491c3b75
[egui_glium] Explicitly use bilinear texture sampling
...
This is the reference renderer, so it is good to be explicit.
2021-01-09 10:27:32 +01:00
Emil Ernerfeldt
10a23d18e1
Support additive colors in color picker
2021-01-03 18:16:12 +01:00
Emil Ernerfeldt
73f3d8cf46
Rename Srgba to Color32
2021-01-02 17:02:18 +01:00
Emil Ernerfeldt
c3c4f28a9d
Added App::clear_color() that apps can use to specify background color
2020-12-18 22:44:26 +01:00
Emil Ernerfeldt
99a2a52510
Code cleanup
2020-11-20 20:32:38 +01:00
Emil Ernerfeldt
c6ce0b9e8c
[example_web] show loading of an image
...
Required some redesign of `TextureAllocator` as well as
some improvements to the fetch API.
2020-11-18 22:16:01 +01:00
Emil Ernerfeldt
a4e19d7207
[app] Add demo app slider to change scale of all of Egui
2020-10-17 23:54:46 +02:00
Emil Ernerfeldt
6e7507373a
[egui_glium] clean up the code for the glium OpenGL painter
2020-09-21 19:19:24 +02:00
Emil Ernerfeldt
d49aec4079
Add user texture support to egui_glium and egui_web backends
2020-09-11 18:54:57 +02:00
Emil Ernerfeldt
13060d495b
[user texture] change uv to normalized texture coords in 0-1 range
2020-09-09 17:14:42 +02:00
Emil Ernerfeldt
8984302122
[user textures] switch WHITE_UV to (0,0) and require clamped sampling
2020-09-09 15:24:09 +02:00
Emil Ernerfeldt
bb367752cf
[text] support non-latin characters by dynamically adding them to atlas
2020-09-09 14:33:30 +02:00
Emil Ernerfeldt
0e870dae3e
[refactor] rename Texture::id to version
2020-09-09 13:32:40 +02:00
Emil Ernerfeldt
dc40a5d31d
[refactor] represent colors with arrays
2020-09-02 22:04:10 +02:00
Emil Ernerfeldt
1f8d3a699f
[egui_glium] sRGBA: blend vertex colors in linear space
2020-08-29 12:04:41 +02:00
Emil Ernerfeldt
73cea29f7d
[docs] Improve README.md and documentation
2020-08-21 18:53:43 +02:00
Emil Ernerfeldt
9b9cd01c5c
[glium] update to latest glium with EventLoop and vsync
2020-07-22 00:36:17 +02:00
Emil Ernerfeldt
fccd135254
[refactor] rename 'PaintBatches' to 'PaintJobs'
2020-07-19 00:01:13 +02:00
Emil Ernerfeldt
520e42c11c
[backend] use hardware scissor rect in WebGL and glium
2020-07-17 10:29:21 +02:00
Emil Ernerfeldt
fd5ab736bb
Rename from "Emigui" to "Egui"
...
Shorter to type (especially in code).
2020-05-30 10:22:35 +02:00