Commit Graph

52 Commits

Author SHA1 Message Date
cutealien
35a0c4df8f Enhance shader material to show how to pass material values
Also document that gl_FrontMaterial is no longer supported in Irrlicht 1.9 (this has been the case for a few years, I just never noticed this was changed as I never even knew that was possible in the past...). Will keep it that way is it's definitely going in the right direction (getting rid of legacy support and going towards OpenGL core instead),

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6498 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-06-24 15:42:31 +00:00
cutealien
cdcb8274ee Improve documentation
What Irrlicht calls ShaderConstants is called uniforms by everyone else. So let's mention this at least.
Also reworked setVertexShaderConstant interface had an example for the old interface in the header.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6497 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-06-12 19:26:43 +00:00
cutealien
3683a2f8ee Reset last debug menu entry after reloaded the model in example 09
Reset 'em all! Was one short ;-)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6485 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-05-05 17:45:35 +00:00
cutealien
c4bbbe1aaf Add 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.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6469 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-04-24 14:46:09 +00:00
cutealien
16c960c5ed Add 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).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6465 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-04-21 14:41:01 +00:00
cutealien
a3adfc196b CIrrDeviceWin32::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.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6459 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-04-03 15:32:41 +00:00
cutealien
b4b28c367c Document some shader behaviour
S3DVertexTangents also documents that it's passed as TEXCOORD1 and TEXCOORD2, but easy to miss, so added some comments to the hlsl shader.
Also not all materials work well as base materials.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6452 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-02-28 20:21:00 +00:00
cutealien
f1a572e8a7 Add VC17 (VS 2022) project files and solutions
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6441 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-11-19 14:22:50 +00:00
cutealien
3c5a2387cf Handle missing 3d models in example 08
Ugly replacement if dwarf is missing.
Doing this because Debian currently discussing to remove the dwarf due to a conflict of it's license with Debian policy.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6436 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-10-07 18:28:04 +00:00
cutealien
b3fff12423 Handle missing 3d models in example 07
No more crashing if some models are not found


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6435 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-10-07 18:10:50 +00:00
cutealien
1803413b49 Fix: SDL device can support FPS camera animator again
Also no longer restricting mouse position to 0-windowsize (restriction for other devices got removed earlier)
And adding some commented out lines to Makesfile for easier testing of SDL. We probably should use some parameter which can be passed to Makefiles for that in the future.
Note: This does not fix all cursor troubles for SDL - it still does not support relative rectangle
Bit arguably how to handle setting/getting mouse position for SDL, for example it still doesn't support a reference rectangle.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6424 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-09-22 21:47:19 +00:00
cutealien
88b7bed20f Merging r6286 through r6421 from branch releases/1.8 to trunk
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6422 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-09-21 20:09:28 +00:00
engineer_apple
30834665ff Example 27.PostProcessing turn off depth buffer again
BurningVideo Shader emulation pp_opengl.frag/vert frag_BFT_385_0xa0194718
 - currently only implemented with depth-buffer disabled inside CTRTextureGouraudNoZ2
 - special case of not power of 2 RTT TextureSampler without mipmap and no bilinear filter


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6413 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-06-25 07:24:55 +00:00
cutealien
f2896fae5a Fix some comments in example 28
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6411 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-06-21 18:50:45 +00:00
cutealien
2dc5d89967 Make example 27 run with burnings again.
Sorry, last change removed a bit too much.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6410 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-06-21 18:28:13 +00:00
cutealien
338af5c0ea Simplify example 27 slightly.
Also use tab instead of spaces (as usual in Irrlicht)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6408 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-06-20 19:57:35 +00:00
cutealien
d70d96031b Show number polygons in example 26
Just useful to understand what's going on.
Also removing the _CRT_SECURE_NO_WARNINGS as I don't get warnings my VS versions and other examples don't do that (so maybe that was fixed otherwise?)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6407 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-06-16 14:26:53 +00:00
engineer_apple
cf12a37521 vs2019 projectfiles
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6376 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-03 21:26:24 +00:00
engineer_apple
7e3c645451 vs2019 projectfiles
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6375 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-03 21:01:14 +00:00
engineer_apple
8cab15b8db vs2019 projectfiles
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6374 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-03 20:57:39 +00:00
engineer_apple
5bd1c1d68b vs2019 projectfiles
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6372 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-03 20:48:57 +00:00
engineer_apple
21e2569e5b burningvideo 0.54
removed CTRGouraudAlpha2.cpp
added CTRParallaxMap.cpp

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6371 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-03 20:47:32 +00:00
engineer_apple
61bc7d3a22 MacOS SoftwareDriver Window and warnings
Xcode 12.4 MacOS 10.15.7

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6367 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-01 02:43:12 +00:00
engineer_apple
3285a0147a a) debug Camera Matrices. enable with _IRR_COMPILE_WITH_90_DEGREE_CAMERA.
- allow ICameraSceneNode to accept any values and correct in buildCameraLookAtMatrixLH with normalize_camera_direction.
 if disabled defaults to the current v1.9 normalize
b) add initial Rotation to MayaCamera Constructor default 0,0
c) switchToMayaCamera in Examples. Clones FPSCamera default disabled


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6366 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-05-01 01:11:45 +00:00
engineer_apple
4fe6a16165 burning v0.53
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6364 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-04-30 22:57:17 +00:00
cutealien
da77810fb5 Comment fixes in example 25
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6318 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-25 18:25:33 +00:00
cutealien
f0c890d3ff Minor improvements and cleanup for example 24.CursorControl
- ESC now also makes cursor visible again (probably first key users press in panic usually)
- Bunch of spelling fixes
- Let all words in UI elements start with upper-case

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6317 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-25 17:54:28 +00:00
cutealien
f013a95a0e Improve UI behavior in resizing in example 22.MaterialViewer
Also a bit better defaults for sizes and positions of nodes&camera

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6315 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-24 21:32:12 +00:00
cutealien
3f13323e60 Allow switching between cube/sphere in example 22.MaterialViewer
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6314 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-24 21:14:37 +00:00
cutealien
669ad7860a Add new cube mesh type ECMT_1BUF_24VTX_NP. CubeSceneNodes can now use different cube mesh types.
1 Meshbuffer with 24 vertices, so each side has it's own vertices.
Normals perpendicular to the cube-sides.
CubeSceneNode accepts now a ECUBE_MESH_TYPE
CubeSceneNode::clone now also clones rotation and scale (not sure why it didn't do that before - hope there was no reason, but can't think of any).
ISceneManager::addCubeSceneNode accepts now a ECUBE_MESH_TYPE and passes it through.
Example 22.MaterialViewer using new cube type. Also a few more beauty fixes there.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6313 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-22 22:08:33 +00:00
cutealien
f61b8614ab Cleanup example 22.MaterialViewer
Using default light values which work a bit better with cube.
But really needs another cube-type (which Irrlicht has not yet, needs single material with 24 vertices)
as a cube with vertex normals which average connected sides is horrible with vertex-lighting
(the problem is that the light get's behind the plane formed by the vertex-normal this way which is super confusing).
Will probably add another cube-type soon.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6312 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-20 19:09:40 +00:00
cutealien
73247f4a21 Make UI in example 22.MaterialViewer a bit nicer.
Less black on grey text.
Prevent controlling light and ui-elements same time.
Bit more compact code in a few places.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6311 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-19 16:07:38 +00:00
cutealien
8254c0848c Minor cleanup and comment fixes in example 21
Mostly spelling stuff. 
Only real code change is that Irrlicht has by now a function to fill images, so no more extra code for that needed.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6310 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-17 20:12:40 +00:00
cutealien
3035e27e67 Remove unused variable in example 19
Added that one accidentally in my last commit (leftover from a failed experiment)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6309 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-17 19:16:28 +00:00
cutealien
713018cae1 Minor update for example 19.MouseAndJoystick.
Don't move the mouse anymore when the mouse hasn't moved.
This was sometimes confusing because events are only caught inside the window (at least on Windows),
which lead to the node moving seemingly randomly when the mouse was outside.
Also added a few more comments to mention CursorControl as an alternative.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6308 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-16 20:59:43 +00:00
cutealien
e50adc3066 Add tiny UI to SplitScreen example and some minor cleanup.
Just to show that GUI can be used print usable keys on screen.
Also ESC can be used now to quit.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6307 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-15 19:31:04 +00:00
cutealien
d31b7aa261 Minor comment changes in example 16
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6306 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-14 17:59:47 +00:00
cutealien
c20d3d08b6 Cleanup code & documentation of Example 14 a bit.
Note: Turns out we never got rendering into 2 OpenGL Windows same time working.
Not going to look into this for now as it's not a new bug (never seems to have worked).
If anyone has more information (like maybe it's not possible?) be nice and tell us in the forum.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6302 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-03-09 18:26:23 +00:00
cutealien
42c0b17435 Relax test a bit. Minor example cleanup.
Invisible difference, probably some mip-mapping pixel.
Getting rid of some unnecessary global in example 14


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6297 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-01-22 16:42:12 +00:00
cutealien
0fb6891267 Avoid some warnings from static code analysis.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6296 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-01-22 15:54:43 +00:00
cutealien
31f5da289f Remove CPPFLAG -I/usr/X11R6/include in all example Makefiles
None uses X11 directly, this is only needed in the Library itself.
Also this was even added on all platforms while many don't even have X11.
Thanks @Isomorphix noticing something off about that once (a long time ago...): https://irrlicht.sourceforge.io/forum/viewtopic.php?f=1&t=49033


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6294 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-01-09 15:50:41 +00:00
cutealien
2acce15bcd Stop grabbing mouse cursor when the window is not active in example 18
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6216 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-05-31 12:43:37 +00:00
cutealien
c481179825 Update tutorial.html's in example folders
Add some for newer examples which didn't have those so far.
Only updating this once now as some were broken. 
Next time on release.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6204 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-03-18 21:50:11 +00:00
cutealien
3fa6370cea Merging r6172 through r6199 from branch releases/1.8 to trunk
Changes are all related to automatic creation of documentation.
Note: It's not yet fully working in trunk due to changes since 1.8


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6200 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-03-18 20:33:59 +00:00
engineer_apple
5cb28ea357 Burningsvideo 0.52
- scissor for 2D
- downscaled internal rendertargets,interlaced drawing
- supertuxkart gui ok

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6154 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-11-10 18:49:39 +00:00
engineer_apple
2378c47d05 Demo - nullptr test for shadowvolume
make golden sydney shine
gui editor.vcxproj - set win64 outputdir

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6136 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-08-22 18:33:53 +00:00
engineer_apple
704c9eec83 BurningVideo 0.51 - NormalMap
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6101 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-02-27 00:17:46 +00:00
engineer_apple
5bf308139c expf throws floating point underflow exception on every value in VS2017.
switch to IEEE-compatible type double exp

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6099 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-02-23 14:15:53 +00:00
engineer_apple
9c15b9dfa9 remove examples warnings
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6090 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-02-22 21:42:44 +00:00
engineer_apple
c615e1e666 remove examples warnings
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6089 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-02-22 21:36:28 +00:00