Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 94 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 550 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 550 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $awaitingusers - Line: 26 - File: global.php(872) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/global.php(872) : eval()'d code 26 errorHandler->error
/global.php 872 eval
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 1449 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 1449 errorHandler->error
/inc/functions.php 1414 fetch_forum_permissions
/inc/functions.php 2953 forum_permissions
/showthread.php 657 build_forum_jump
Warning [2] Undefined array key "mybb" - Line: 1997 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 1997 errorHandler->error
/inc/functions_indicators.php 41 my_set_array_cookie
/showthread.php 665 mark_thread_read
Warning [2] Undefined variable $postsdone - Line: 901 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 901 errorHandler->error
Warning [2] Undefined array key 60 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 61 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 62 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 63 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 96 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 97 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 103 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 104 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 107 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 108 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 107 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 108 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key "additionalgroups" - Line: 7360 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 7360 errorHandler->error
/inc/functions_user.php 813 is_member
/inc/functions_post.php 416 purgespammer_show
/showthread.php 920 build_postbit
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(484) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php(484) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 484 eval
/showthread.php 920 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 672 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 672 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showimages" - Line: 757 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 757 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 762 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 762 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined variable $threadnotesbox - Line: 33 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 33 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 36 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 36 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $ratethread - Line: 41 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 41 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 68 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 68 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $addremovesubscription - Line: 82 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 82 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $usersbrowsing - Line: 92 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 92 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $thread_deleted - Line: 107 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 107 errorHandler->error
/showthread.php 1587 eval

Features and feature
The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 94 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 550 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 550 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $awaitingusers - Line: 26 - File: global.php(872) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/global.php(872) : eval()'d code 26 errorHandler->error
/global.php 872 eval
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 1449 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 1449 errorHandler->error
/inc/functions.php 1414 fetch_forum_permissions
/inc/functions.php 2953 forum_permissions
/showthread.php 657 build_forum_jump
Warning [2] Undefined array key "mybb" - Line: 1997 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 1997 errorHandler->error
/inc/functions_indicators.php 41 my_set_array_cookie
/showthread.php 665 mark_thread_read
Warning [2] Undefined variable $postsdone - Line: 901 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 901 errorHandler->error
Warning [2] Undefined array key 60 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 61 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 62 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 63 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 96 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 97 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 103 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 104 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 107 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 108 - Line: 907 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 907 errorHandler->error
Warning [2] Undefined array key 107 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key 108 - Line: 1630 - File: showthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php 1630 errorHandler->error
/showthread.php 1632 buildtree
/showthread.php 919 buildtree
Warning [2] Undefined array key "additionalgroups" - Line: 7360 - File: inc/functions.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions.php 7360 errorHandler->error
/inc/functions_user.php 813 is_member
/inc/functions_post.php 416 purgespammer_show
/showthread.php 920 build_postbit
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(484) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php(484) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 484 eval
/showthread.php 920 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 672 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 672 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showimages" - Line: 757 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 757 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 762 - File: inc/functions_post.php PHP 8.1.30 (FreeBSD)
File Line Function
/inc/functions_post.php 762 errorHandler->error
/showthread.php 920 build_postbit
Warning [2] Undefined variable $threadnotesbox - Line: 33 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 33 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 36 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 36 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $ratethread - Line: 41 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 41 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $multipage - Line: 68 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 68 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $addremovesubscription - Line: 82 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 82 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $usersbrowsing - Line: 92 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 92 errorHandler->error
/showthread.php 1587 eval
Warning [2] Undefined variable $thread_deleted - Line: 107 - File: showthread.php(1587) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/showthread.php(1587) : eval()'d code 107 errorHandler->error
/showthread.php 1587 eval






Features and feature
#9
Apost 
Quote:// What uniform parameters does engine set ?
There is a number of predefined uniforms that are directly set by the engine, defined in the Murl::IEnums::UniformItem enumeration:
http://murlengine.com/api/en/class_murl_...3379d7f52e

When we have the shader tutorials ready, we will give an overview of the available names. In the mean time, the actual variable name for each of these enum values can be retrieved by calling the static method Murl::IEnums::GetUniformItemName(). Some of these items also have an alternative name (specifically the array types), which can be queried using Murl::IEnums::GetUniformItemAlternativeName(). Both methods return a const Char* pointer; querying the alternative name may return a null pointer.
You can also check the necessary data type for each item (Murl::IEnums::UniformType) by calling Murl::IEnums::GetUniformItemDataType().

Quote://This part came from line 368-372
// geom->AddAttribute(...) API
attribute vec4 aPosition;
attribute vec3 aNormal;
attribute vec3 aBinormal;
attribute vec3 aTangent;
attribute vec2 aTexCoord0;
Analogous to uniforms, there is also the Murl::IEnums::AttributeItem enum:
http://murlengine.com/api/en/class_murl_...334b27467c
together with the methods Murl::IEnums::GetAttributeItemName(), Murl::IEnums::GetAttributeItemAlternativeName() and Murl::IEnums::GetAttributeItemDataType().

Quote:// How to change them from code ?
// Is it possible to add our own uniform parameters ?
Most of the predefined variables cannot directly be set by the user, but there exist both the IEnums::UNIFORM_ITEM_CUSTOM and IEnums::ATTRIBUTE_ITEM_CUSTOM items, which can be used to specify your own variables from code, with whatever variable name you need.

To do so, you need to group your custom uniforms in a suitable way using Graph::IGenericParameterGroup nodes (Actually, as a side note, for OpenGL ES 2.0 the actual grouping does not matter. However, for DirectX 11 and OpenGL ES 3.0, groups should be defined in such a way that each of them encapsulates uniforms with the same or similar update frequency). You can add individual uniform variables to each group you create, with desired variable name and data type.

Next, you need to put all desired groups into one Graph::IGenericParameters node, which can then be activated with a Graph::IParametersState node just like a Graph::IFixedParameters node. Here's a short snipped of how to do so from code:
// Create container for our sub-graph
Graph::INode* container = root->CreateNode("Node");

// Create parameter groups and add individual uniforms
UInt32 byteOffset;

Graph::IGenericParameterGroup* waterTransGroup = dynamic_cast<Graph::IGenericParameterGroup*>(root->CreateNode("GenericParameterGroup"));
waterTransGroup->SetName("cbWaterTrans");
byteOffset = 0;
SInt32 bumpTransIndex0 = waterTransGroup->AddUniform("uBumpTranslation0", IEnums::UNIFORM_TYPE_FLOAT_VECTOR_4, byteOffset);
SInt32 bumpTransIndex1 = waterTransGroup->AddUniform("uBumpTranslation1", IEnums::UNIFORM_TYPE_FLOAT_VECTOR_4, byteOffset);
Graph::IFloatVector4Uniform* bumpTransParam0 = waterTransGroup->GetFloatVector4Uniform(bumpTransIndex0);
Graph::IFloatVector4Uniform* bumpTransParam1 = waterTransGroup->GetFloatVector4Uniform(bumpTransIndex1);
container->AddChild(waterTransGroup->GetNodeInterface());

Graph::IGenericParameterGroup* waterScaleGroup = dynamic_cast<Graph::IGenericParameterGroup*>(root->CreateNode("GenericParameterGroup"));
waterScaleGroup->SetName("cbWaterScale");
byteOffset = 0;
SInt32 bumpScaleIndex0 = waterScaleGroup->AddUniform("uBumpScale0", IEnums::UNIFORM_TYPE_FLOAT_VECTOR_4, byteOffset);
SInt32 bumpScaleIndex1 = waterScaleGroup->AddUniform("uBumpScale1", IEnums::UNIFORM_TYPE_FLOAT_VECTOR_4, byteOffset);
Graph::IFloatVector4Uniform* bumpScaleParam0 = waterScaleGroup->GetFloatVector4Uniform(bumpScaleIndex0);
Graph::IFloatVector4Uniform* bumpScaleParam1 = waterScaleGroup->GetFloatVector4Uniform(bumpScaleIndex1);
container->AddChild(waterScaleGroup->GetNodeInterface());

// Create a parameters node to hold the two groups
Graph::IGenericParameters* waterParams = dynamic_cast<Graph::IGenericParameters*>(root->CreateNode("GenericParameters"));
waterParams->GetGenericParameterGroupNodeTarget()->SetNumberOfNodes(2);
waterParams->GetGenericParameterGroupNodeTarget()->SetNode(waterTransGroup, 0);
waterParams->GetGenericParameterGroupNodeTarget()->SetNode(waterScaleGroup, 1);
container->AddChild(waterParams->GetNodeInterface());

// Create a state object to activate the parameters for subsequent rendering
Graph::IParametersState* waterState = dynamic_cast<Graph::IParametersState*>(root->CreateNode("ParametersState"));
waterState->GetParametersNodeTarget()->SetNumberOfNodes(1);
waterState->GetParametersNodeTarget()->SetNode(waterParams->GetParametersInterface(), 0);
container->AddChild(waterState->GetNodeInterface());

// Add & init the container
root->InitGraph(container, mWaterParamContainer.GetNode());

// Set some values
Float val[] = { 42.0f, 2.0f, 3.0f, 1.0f };
bumpTransParam0->SetValue(val);


And here's how to use these uniforms in the shader:
uniform highp mat4 uModelMatrix;
uniform highp mat4 uCameraViewMatrix;
uniform highp mat4 uCameraProjectionMatrix;
uniform highp mat4 uCameraViewProjectionMatrix;
uniform highp vec4 uCameraPosition;

uniform mediump vec4 uBumpTranslation0;
uniform mediump vec4 uBumpScale0;
uniform mediump vec4 uBumpTranslation1;
uniform mediump vec4 uBumpScale1;

attribute highp vec4 aPosition;

varying mediump vec3 vWaterToEye;
varying mediump float vWaterToEyeLength;
varying mediump vec2 vBumpCoord0;
varying mediump vec2 vBumpCoord1;

void main()
{
    highp vec4 worldPosition = (uModelMatrix * aPosition);
    gl_Position = uCameraViewProjectionMatrix * worldPosition;

    mediump vec2 texCoord = worldPosition.xz;

    vBumpCoord0 = texCoord.xy * uBumpScale0.xy;
    vBumpCoord0 += uBumpTranslation0.xy;

    vBumpCoord1 = texCoord.xy * uBumpScale1.xy;
    vBumpCoord1 += uBumpTranslation1.xy;

    highp vec4 camPos = uCameraPosition;

    vWaterToEye = camPos.xyz - worldPosition.xyz;
    vWaterToEyeLength = length(vWaterToEye);
}


As I mentioned above, only most of the predefined uniforms cannot be set directly. The exception to this rule are the "uMaterial*" uniforms, which are regularly set via Graph::IFixedParameters nodes. If you want to use these uniforms in your shader together with a Graph::IGenericParameters node, you must manually add a Graph::IGenericParameterGroup with name (not ID!) "cbMaterial", and add the "uMaterial*" variables to that group.

Quote:// Why lighting uniforms are arrays of 2 while only first element was used ?
In the sample, only 1 simultaneous light source is used, so this value might as well be set to 1.

Quote:// Is it possible to process multiple lights with vector of uLightPosition
Currently, 2 simultaneous light sources are supported. If you want more, you might use multi-pass rendering, which leads to your next question:

Quote:2. Multiple programs.
I understand in simple case engine uses IFixedProgram to render objects.
In our case we use IShaderProgram and SetNumberOfNodes(1), so only 1 program is used.
I wonder is it possible to attach several programs to material to execute one by one ? Or any other technique is available ?
Yes, this is possible, through the use of Graph::MultiMaterial, Graph::MultiParamerers, Graph::MultiTexture and Graph::MultiLight nodes. However, this is another big topic on its own. I'll try to create another sample that covers this, and post another answer when it's ready. Again, I have to ask you for a bit of patience, but I promise it won't take long this time Wink

Best regards,

Christopher
Reply


Messages In This Thread
Features and feature - by ksubox - 27 Jun 2013, 7:45
RE: Features and feature - by dizzy - 27 Jun 2013, 9:02
RE: Features and feature - by ksubox - 27 Jun 2013, 9:50
RE: Features and feature - by dizzy - 27 Jun 2013, 10:04
RE: Features and feature - by ksubox - 14 Aug 2013, 7:15
RE: Features and feature - by dizzy - 14 Aug 2013, 13:02
RE: Features and feature - by dizzy - 09 Sep 2013, 15:49
RE: Features and feature - by ksubox - 10 Sep 2013, 8:26
RE: Features and feature - by dizzy - 12 Sep 2013, 16:10
RE: Features and feature - by ksubox - 12 Sep 2013, 23:35

Forum Jump:


Copyright © 2011-2024 Spraylight GmbH.