aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docs/ClientHamr/WindowSharing.txt
blob: 71ce6d9b27c1fc659885feabe466e83d40785be4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
EnLichtIrrnment.  B-)

(Note, this is obsolete, as I moved away from Irrlicht when EFL grew 3D support.)

Elementary and Irrlicht don't like to share windows.

Irrlicht can be told to create a device from a pre existing window, but this is Windows only.
    Perhaps it already works for Linux, just the docs are out of date?
    It works, sorta.

IVideoDriver::getExposedVideoData() can provide a structure with raw OS level window pointers.
    This implies that it's theoretically possible to create a device from things other than Windows windows.
    Wont provide any valid info when using the software renderer.

Elementary can provide an Ecore_Wl_Window or an Ecore_X_Window of one of it's windows.  elm_win_wl_window_get() and elm_win_xwindow_get().

Ecore_evas can provide an Ecore_Window with ecore_evas_window_get().

Ecore_X_Window ecore_x_window_new()

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=31350&sid=0eb6d64c84ec7043fd48103f8e63e930 may help.  A little.


"For using OpenGL with an Evas canvas, there is two possibilities in my
opinion. Either put the canvas in a texture and give it to the 3D
engine, or use EvasGL API and make the 3D engine integrate inside
Evas. It is possible to have a direct rendering path with EvasGL and
so have a fastest possible path.
--
Cedric BAIL"


Apparently Irrlicht's method of providing an external window actually works.  Mostly. -

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=7&t=32647
http://sourceforge.net/tracker/index.php?func=detail&aid=2655876&group_id=74339&atid=540676

Though seems that bug was marked as a duplicate with the duplicate having a better patch, but NO FUCKING LINK to that duplicate.  What a horrid bug tracker.


There is also this which gives clues -http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=26506


http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=39872
http://irrlicht.sourceforge.net/forum//viewtopic.php?t=39719

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=35197

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=46087

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=42450

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=9&t=35251

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=5&t=15338
http://irrlicht.sourceforge.net/forum//viewtopic.php?f=7&t=12697

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=5&t=44599

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=5&t=18941 I think is ancient and might just be similar to what's in there already.

---------------------------------------------------------

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=26141
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=33845
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=35984
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=34527

http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=38656 may be of some interest.
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=30943
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=4&t=46983 where the question I want is not answered.

---------------------------------------------------------

I could run sed over COpenGLDriver.cpp to turn it into CEvasGLDriver.cpp, then tweak it a bit.

evas_gl_make_current(gld->evasgl, gld->sfc, gld->ctx);
glFoo() -> glapi->glFoo()


Hmm, there will be some source files with random gl() calls, and I'd
need to tweak a few other things to suit.  So this wont be a clean "just
drop in this source file" patch.  B-(

Probably a lot easier to just figure out what what brand of glue to use
to get Irrlicht using Evas created GL surface and context.