e4bb544079Support startUseProgram in COGLES2MaterialRenderer Not tested much, but seems to be easier in es2 than in normal OpenGL Probably because it doesn't have to care about switching back to fixed function pipeline
cutealien
2023-04-27 20:02:09 +00:00
23ebdbe978Merging r6468 through r6476 from trunk to ogl-es branch Note: Not yet using latest changes to IMaterialRendererServices in ES2 driver
cutealien
2023-04-27 19:51:22 +00:00
13619d8fdfRemove unused variable in CGUIContextMenu y was set in 2 places, but never used for anything.
cutealien
2023-04-27 19:46:05 +00:00
80788a4198More fixes for CCubeSceneNode with multi-material cube CCubeSceneNode::getMaterialCount now returning correct count CCubeSceneNode::clone now cloning all materials
cutealien
2023-04-27 12:58:55 +00:00
8b0534d4b7Fix CCubeSceneNode using correct material per side for multi-material cubes
cutealien
2023-04-27 12:50:20 +00:00
28856e78b6CCubeSceneNode can now handle new multi-material cube type
cutealien
2023-04-26 18:52:08 +00:00
e55af78b31No longer move context sub-menu to left if there's even less space there Probably still moving too often to the left - should find some better solution. But at least some improvement.
cutealien
2023-04-25 13:14:52 +00:00
1f15fd0805OpenGL3: Support min/max blend modes
numzero
2023-04-20 17:44:14 +03:00
37d821dcc3Add MaterialType in COpenGLSLMaterialRenderer::OnSetMaterial back in Shouldn't have been removed with last commit. But adding some comments as it's slightly confusing.
cutealien
2023-04-24 16:01:13 +00:00
c4bbbe1aafAdd IMaterialRendererServices::startUseProgram/stopUseProgram This makes it possible to set high-level shader constants (which are attached to shader programs) to be set outside of OnSetConstants. IShaderConstantSetCallBack::OnCreate has it set automatically now so it works the same as OnSetConstants. D3D9 and burnings both work different, so there hadn't been a problem with those.
cutealien
2023-04-24 14:46:09 +00:00
81ad195aa3OpenGL3: New extension listing system
numzero
2023-04-20 17:37:15 +03:00
dd16d578d8Support IShaderConstantSetCallBack::OnCreate in ogles2/webgl1 driver ogles1 has no shader support, so nothing to be done there.
cutealien
2023-04-22 21:56:17 +00:00
621bad3111Merging r6426 through r6466 from trunk to ogl-es branch Note: Updated IShaderConstantSetCallBack not yet supported by ogl-es drivers
cutealien
2023-04-22 21:50:32 +00:00
16c960c5edAdd IShaderConstantSetCallBack::OnCreate to allow earlier access to IMaterialRendererServices Accessing IMaterialRendererServices outside of OnSetConstants can be useful and Irrlicht made this a bit too hard to access. Also OnCreate allows actually for nicer code where initialization and update of shader constants are strictly separated (see changed example).
cutealien
2023-04-21 14:41:01 +00:00
02165eccc8CD3D9HLSLMaterialRenderer now implementing IMaterialRendererServices itself Basically now the same as GLSL material renderer already worked. Before it was using IMaterialRendererServices from CD3D9Driver, but there had been several problems with that: - The d3d9 driver called functions through the CD3D9MaterialRenderer interface, but CD3D9HLSLMaterialRenderer is not (or maybe no longer?) derived from that class. Reason it still worked was accidental luck - the same functions had been in the same order and due to casts the compiler wasn't noticing it was calling the functions of an unrelated class. - It was making calls to set shader constants depend on the currently set material in the driver. Which was not necessary and just prevents we can use the IMaterialRendererServices interface without setting the material first (how I found the bug). Still some problems left for now: - There's 2 ways to call shader constants. One seems to be only used by hi-level shaders which links constants to the shader. The the other only by low-level shaders which uses global (shader independent) registers. So maybe this should be 2 interfaces? But not certain, glsl material renderer seems to prevent setting the global registers, but maybe those could be used additionally? I've still allowed it for now in HLSL, just in case it had it's uses. - setBasicRenderStates probably should not be in IMaterialRendererServices. I'm not seeing any case where this isn't just passed on to the driver. And all classes using it have access to the driver unless I missed one. So probably can just avoid that additional indirection and kick that out of the IMaterialRendererServices interface.
cutealien
2023-04-21 14:04:57 +00:00
ce3dcfde56Fix recently broken scroll behaviour of listbox with moveOverSelect This also fixes the combobox which users the listbox like that. This got broken in [r6454] which had fixed the events send out by the listbox Note: Still a bit strange behaviour when leaving the combobox at the bottom, but that was already that way in Irrlicht 1.8, so I've got to investigate that on it's own.
cutealien
2023-04-19 15:17:39 +00:00
13680ef42dOpenGL3: Use DrawBuffer[s] from mt_opengl
Vitaliy
2023-04-16 17:58:43 +03:00
44f7c22bbfOpenGL3: Version asserts
numzero
2023-04-16 01:03:33 +03:00
2e477a07d1OpenGL3: Add version check helper
numzero
2023-04-16 01:00:41 +03:00
78d0819a2cAdd missing include
numzero
2023-04-16 00:20:30 +03:00
df07b3bf99OpenGL3: Remove stencil buffer presence test
numzero
2023-04-15 20:11:11 +03:00
523590e16cOpenGL3: Refuse 3.0 and 3.1
numzero
2023-04-15 20:12:42 +03:00
8cf02ea27fOpenGL3: ExtensionHandler::initExtensionsNew: use GetInteger
numzero
2023-04-15 19:33:23 +03:00
efb660e7edOpenGL3: drop unused ExtensionHandler functions
numzero
2023-04-15 18:17:59 +03:00
5f88555ed3OpenGL3: restore MRT support
numzero
2023-04-15 18:17:45 +03:00
70ee4b05aaIndicate chosen OpenGL ES 2 driver during configuration
numzero
2023-04-05 22:52:43 +03:00
a3adfc196bCIrrDeviceWin32::yield() now uses Sleep(0) instead of Sleep(1). We had changed that once before in the other direction in svn r421 Reason back then was "Sleep(0) doesn't allow any lower priority threads to execute" But Microsoft changed the behaviour of Sleep(0) after Windows XP so that's no longer true. And the costs of it is pretty high - due to this using a timer with a 15ms resolutions it meant not just giving up the thread but it also always waited for 15ms on Windows. I also replaced a few sleep calls in examples for that reason with yield() calls.
cutealien
2023-04-03 15:32:41 +00:00
58a96b7d23Mark the repo as root in the editorconfig
Vitaliy
2023-04-02 22:12:46 +03:00
9622a8b138Fix Android.mk which still tried to compile no longer existing file Sorry, messed up last merge with some changes in Software renderer it seems. Thanks @Christian Keimel for reporting
cutealien
2023-04-01 14:56:42 +00:00
6a9e0f109cAvoid potential number overflows. Found by VS code analyser
cutealien
2022-05-13 14:56:22 +00:00
15e3f15b48SpriteBank: error check on non existing textureNumber
engineer_apple
2022-05-01 09:50:32 +00:00
263f243523S3DVertex initialize color always. It's derived classes now both accept const S3DVertex& constructor.
cutealien
2022-04-25 14:24:43 +00:00
c5ee8c8397CVertexBuffer no longer re-allocates stuff when type doesn't change
cutealien
2022-04-19 12:21:44 +00:00
b0c03b6f3bAdd documentation that sourceRect of draw2dImage is based on the OriginalSize
cutealien
2022-03-30 10:49:13 +00:00
679d3a8ba7Avoid some more warnings when working with CMatrix4<f64>
cutealien
2022-03-10 12:51:10 +00:00
d1f441787aAvoid warnings when working with CMatrix4<f64>
cutealien
2022-03-10 12:24:03 +00:00
739a9eaf7cIVideoDriver::setMaterialRendererName now using u32 for index like other similar functions Other functions like getMaterialRendererName got switched to u32 in the past. I can see no reason why this one was left out, so changing it to be same as the rest.
cutealien
2022-02-09 19:28:45 +00:00