Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich bastel gerade eine Klasse, um die Möglichkeiten eines Graphic Context wieder zu spiegeln. Hierfür soll folgendes Klasse die Minimalen, Maximalen Werte, bzw. verfügbare Features repräsentieren. Ich hab nur zur übersicht mal die OpenGL Keys mit rein geschrieben. Für Direct3D konnte ich bei 9 noch ähnliches Infos finden aber es scheint wohl so zu sein, dass die Werte dort fest nach Version gelegt sind und selbst wenn es mehr gibt diese nicht nutzbar sind. Hab ich da richtig recherche betrieben ? Ich hoffe nicht, da dies echte verschwendung wäre. Ich konnte auch keine Caps Strukturen mehr in der DX11 API finden, wie sie bei 9 noch gab. Der Sinn ist alle Möglichen Werte ein zu tragen und dann mit Werten zu versehen, welche verfügbar sind und über noch nicht eingetragende Bool's zu makieren ob es dieses Feature überhaupt unterstützt werden. Die Extensions werden als String-Liste hinter legt, der Vendor,Renderer,die Version und das ShaderModel werden auch ausserhalb des Structs abgelegt. Die Sachen liegen dann alle zusammen in einer Klasse GraphicDriverInformation, welche noch ein bisschen verwaltungslogik inne hat.
Sind dass alle Werte oder hab ich welche vergessen ?
Code:
struct GraphicDriverCapabilities { struct Range { Portable::Float32 Min; Portable::Float32 Max; }; //GL_ALIASED_POINT_SIZE_RANGE Range AliasedPointSizeRange;//the smallest and largest supported sizes for aliased points //GL_ALIASED_LINE_WIDTH_RANGE Range AliasedLineWidthRange;//the smallest and largest supported widths for aliased lines //GL_COLOR_MATRIX_STACK_DEPTH Portable::UInt32 ColorMatrixStackDepth;//the maximum supported depth of the projection matrix stack //GL_COMPRESSED_TEXTURE_FORMATS Collections::Vector<ImagePixelFormat::Type> CompressedTextureFormats;//indicating which compressed texture formats are available //GL_DOUBLEBUFFER Portable::Bool DoubleBuffer;//a single boolean value indicating whether double buffering is supported //GL_LINE_WIDTH_GRANULARITY Portable::Float32 LineWidthGranularity;//the width difference between adjacent supported widths for antialiased lines //GL_LINE_WIDTH_RANGE Range LineWidthRange;//the smallest and largest supported widths for antialiased lines //GL_MAX_3D_TEXTURE_SIZE Range Max3DTextureSize;//a rough estimate of the largest 3D texture that can handle //GL_MAX_CLIENT_ATTRIB_STACK_DEPTH Range MaxClientAttributeStackDepth;//indicating the maximum supported depth of the client attribute stack //GL_MAX_ATTRIB_STACK_DEPTH Portable::UInt32 MaxAttributeStackDepth;//the maximum supported depth of the attribute stack //GL_MAX_CLIP_PLANES Portable::UInt32 MaxClipPlanes;//the maximum number of application-defined clipping planes //GL_MAX_COLOR_MATRIX_STACK_DEPTH Portable::UInt32 MaxColorMatrixStackDepth;//the maximum supported depth of the color matrix stack //GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS Portable::UInt32 MaxCombinedTextureImageUnits;// the maximum supported texture image units that can be used to access texture maps from the vertex shader and the fragment processor combined //GL_MAX_CUBE_MAP_TEXTURE_SIZE Geometry::Size MaxCubeMapTextureSize;//gives a rough estimate of the largest cube-map texture that can be handle //GL_MAX_DRAW_BUFFERS Portable::UInt32 MaxDrawBuffers;//maximum number of simultaneous output colors allowed from a fragment shader //GL_MAX_ELEMENTS_INDICES Portable::UInt32 MaxElementsIndices;//the recommended maximum number of vertex array indices //GL_MAX_ELEMENTS_VERTICES Portable::UInt32 MaxElementsVertices;//the recommended maximum number of vertex array vertices //GL_MAX_EVAL_ORDER Portable::UInt32 MaxEvalOrder;//the maximum equation order supported by 1D and 2D evaluators //GL_MAX_FRAGMENT_UNIFORM_COMPONENTS Portable::UInt32 MaxFragmentUniformComponents;//the maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a fragment shader //GL_MAX_LIGHTS Portable::UInt32 MaxLights;//the maximum number of lights //GL_MAX_LIST_NESTING Portable::UInt32 MaxListNesting;//the maximum recursion depth allowed during display-list traversal //GL_MAX_MODELVIEW_STACK_DEPTH Portable::UInt32 MaxModelviewStackDepth;//the maximum supported depth of the modelview matrix stack //GL_MAX_NAME_STACK_DEPTH Portable::UInt32 MaxNameStackDepth;//the maximum supported depth of the selection name stack //GL_MAX_PIXEL_MAP_TABLE Portable::UInt32 MaxPixelMapTable;//the maximum supported size of a glPixelMap lookup table //GL_MAX_PROJECTION_STACK_DEPTH Portable::UInt32 MaxProjectionStackDepth;//maximum supported depth of the projection matrix stack //GL_MAX_TEXTURE_COORDS Portable::UInt32 MaxTextureCoords;//maximum number of texture coordinate sets available to vertex and fragment shaders //GL_MAX_TEXTURE_IMAGE_UNITS Portable::UInt32 MaxTextureImageUnits;//the maximum supported texture image units that can be used to access texture maps from the fragment shader //GL_MAX_TEXTURE_LOD_BIAS Portable::UInt32 MaxTextureLODBias;//the maximum, absolute value of the texture level-of-detail bias //GL_MAX_TEXTURE_SIZE Geometry::Size MaxTextureSize;//a rough estimate of the largest texture that can be handle //GL_MODELVIEW_STACK_DEPTH Portable::UInt32 MaxTextureStackDepth;//the maximum supported depth of the texture matrix stack //GL_MAX_TEXTURE_UNITS Portable::UInt32 MaxTextureUnits;//indicating the number of conventional texture units supported //GL_MAX_VARYING_FLOATS Portable::UInt32 MaxVaryingFloats;//the maximum number of interpolators available for processing varying variables used by vertex and fragment shaders //GL_MAX_VERTEX_ATTRIBS Portable::UInt32 MaxVertexAttribs;//maximum number of 4-component generic vertex attributes accessible to a vertex shader //GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS Portable::UInt32 MaxVertexTextureImageUnits;//maximum supported texture image units that can be used to access texture maps from the vertex shader //GL_MAX_VERTEX_UNIFORM_COMPONENTS Portable::UInt32 MaxVertexUniformComponents;//maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a vertex shader //GL_MAX_VIEWPORT_DIMS Geometry::Size MaxViewportDimension;//maximum supported width and height of the viewport //GL_NUM_COMPRESSED_TEXTURE_FORMATS Portable::UInt32 NumCompressedTextureFormats;//indicating the number of available compressed texture formats //GL_POINT_SIZE_GRANULARITY Portable::Float32 PointSizeGranularity;//the size difference between adjacent supported sizes for antialiased points //GL_POINT_SIZE_RANGE Range PointSizeRange;//the smallest and largest supported sizes for antialiased points //GL_SMOOTH_LINE_WIDTH_RANGE Range SmoothLineWidthRange;//the smallest and largest supported widths for antialiased lines //GL_SMOOTH_LINE_WIDTH_GRANULARITY Portable::Float32 SmoothLineWidthGranularity;//the granularity of widths for antialiased lines //GL_SMOOTH_POINT_SIZE_RANGE Range SmoothPointSizeRange;//the smallest and largest supported widths for antialiased points //GL_SMOOTH_POINT_SIZE_GRANULARITY Portable::Float32 SmoothPointsizeGranularity;//the granularity of sizes for antialiased points //GL_STEREO Portable::Bool Stereo;//indicating whether stereo buffers(left and right) are supported };
Das ganze soll für 2 dinge zu gute sein. -Optimierung, durch schalten zwischen Renderpaths -ich will das Info Tool von delphi3d.net nach bauen und eine DB zur verfügung stellen, welche diese Graka Infos hinter legt
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich habe die Liste aktualisiert und man sieht noch wo die neuen sind ^^, da wo die kommentare fehlen. Knapp 3x soviel wie vorher. Ich will nochmal gucken, ob ich in den Hardware Informationen, dass Fabrikationsdatum raus bekomme. Sollte man dieses bekommen, dann kann man die Zahlen und Karten in Graphen prima über die Zeit dar stellen. Also auf X-Achse ist die Zeit und auf Y-Achse ist jeweils einer der Werte.
Code:
struct GraphicDriverCapabilities { struct Range { Portable::Float32 Min; Portable::Float32 Max; }; //GL_ALIASED_POINT_SIZE_RANGE Range AliasedPointSizeRange;//the smallest and largest supported sizes for aliased points //GL_ALIASED_LINE_WIDTH_RANGE Range AliasedLineWidthRange;//the smallest and largest supported widths for aliased lines //GL_COLOR_MATRIX_STACK_DEPTH Portable::UInt32 ColorMatrixStackDepth;//the maximum supported depth of the projection matrix stack //GL_COMPRESSED_TEXTURE_FORMATS Collections::Vector<ImagePixelFormat::Type> CompressedTextureFormats;//indicating which compressed texture formats are available //GL_DOUBLEBUFFER Portable::Bool DoubleBuffer;//a single boolean value indicating whether double buffering is supported //GL_LINE_WIDTH_GRANULARITY Portable::Float32 LineWidthGranularity;//the width difference between adjacent supported widths for antialiased lines //GL_LINE_WIDTH_RANGE Range LineWidthRange;//the smallest and largest supported widths for antialiased lines //GL_MAX_3D_TEXTURE_SIZE Range Max3DTextureSize;//a rough estimate of the largest 3D texture that can handle //GL_MAX_CLIENT_ATTRIB_STACK_DEPTH Range MaxClientAttributeStackDepth;//indicating the maximum supported depth of the client attribute stack //GL_MAX_ATTRIB_STACK_DEPTH Portable::UInt32 MaxAttributeStackDepth;//the maximum supported depth of the attribute stack //GL_MAX_CLIP_PLANES Portable::UInt32 MaxClipPlanes;//the maximum number of application-defined clipping planes //GL_MAX_COLOR_MATRIX_STACK_DEPTH Portable::UInt32 MaxColorMatrixStackDepth;//the maximum supported depth of the color matrix stack //GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS Portable::UInt32 MaxCombinedTextureImageUnits;// the maximum supported texture image units that can be used to access texture maps from the vertex shader and the fragment processor combined //GL_MAX_CUBE_MAP_TEXTURE_SIZE Geometry::Size MaxCubeMapTextureSize;//gives a rough estimate of the largest cube-map texture that can be handle //GL_MAX_DRAW_BUFFERS Portable::UInt32 MaxDrawBuffers;//maximum number of simultaneous output colors allowed from a fragment shader //GL_MAX_ELEMENTS_INDICES Portable::UInt32 MaxElementsIndices;//the recommended maximum number of vertex array indices //GL_MAX_ELEMENTS_VERTICES Portable::UInt32 MaxElementsVertices;//the recommended maximum number of vertex array vertices //GL_MAX_EVAL_ORDER Portable::UInt32 MaxEvalOrder;//the maximum equation order supported by 1D and 2D evaluators //GL_MAX_FRAGMENT_UNIFORM_COMPONENTS Portable::UInt32 MaxFragmentUniformComponents;//the maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a fragment shader //GL_MAX_LIGHTS Portable::UInt32 MaxLights;//the maximum number of lights //GL_MAX_LIST_NESTING Portable::UInt32 MaxListNesting;//the maximum recursion depth allowed during display-list traversal //GL_MAX_MODELVIEW_STACK_DEPTH Portable::UInt32 MaxModelviewStackDepth;//the maximum supported depth of the modelview matrix stack //GL_MAX_NAME_STACK_DEPTH Portable::UInt32 MaxNameStackDepth;//the maximum supported depth of the selection name stack //GL_MAX_PIXEL_MAP_TABLE Portable::UInt32 MaxPixelMapTable;//the maximum supported size of a glPixelMap lookup table //GL_MAX_PROJECTION_STACK_DEPTH Portable::UInt32 MaxProjectionStackDepth;//maximum supported depth of the projection matrix stack //GL_MAX_TEXTURE_COORDS Portable::UInt32 MaxTextureCoords;//maximum number of texture coordinate sets available to vertex and fragment shaders //GL_MAX_TEXTURE_IMAGE_UNITS Portable::UInt32 MaxTextureImageUnits;//the maximum supported texture image units that can be used to access texture maps from the fragment shader //GL_MAX_TEXTURE_LOD_BIAS Portable::UInt32 MaxTextureLODBias;//the maximum, absolute value of the texture level-of-detail bias //GL_MAX_TEXTURE_SIZE Geometry::Size MaxTextureSize;//a rough estimate of the largest texture that can be handle //GL_MODELVIEW_STACK_DEPTH Portable::UInt32 MaxTextureStackDepth;//the maximum supported depth of the texture matrix stack //GL_MAX_TEXTURE_UNITS Portable::UInt32 MaxTextureUnits;//indicating the number of conventional texture units supported //GL_MAX_VARYING_FLOATS Portable::UInt32 MaxVaryingFloats;//the maximum number of interpolators available for processing varying variables used by vertex and fragment shaders //GL_MAX_VERTEX_ATTRIBS Portable::UInt32 MaxVertexAttribs;//maximum number of 4-component generic vertex attributes accessible to a vertex shader //GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS Portable::UInt32 MaxVertexTextureImageUnits;//maximum supported texture image units that can be used to access texture maps from the vertex shader //GL_MAX_VERTEX_UNIFORM_COMPONENTS Portable::UInt32 MaxVertexUniformComponents;//maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a vertex shader //GL_MAX_VIEWPORT_DIMS Geometry::Size MaxViewportDimension;//maximum supported width and height of the viewport //GL_NUM_COMPRESSED_TEXTURE_FORMATS Portable::UInt32 NumCompressedTextureFormats;//indicating the number of available compressed texture formats //GL_POINT_SIZE_GRANULARITY Portable::Float32 PointSizeGranularity;//the size difference between adjacent supported sizes for antialiased points //GL_POINT_SIZE_RANGE Range PointSizeRange;//the smallest and largest supported sizes for antialiased points //GL_SMOOTH_LINE_WIDTH_RANGE Range SmoothLineWidthRange;//the smallest and largest supported widths for antialiased lines //GL_SMOOTH_LINE_WIDTH_GRANULARITY Portable::Float32 SmoothLineWidthGranularity;//the granularity of widths for antialiased lines //GL_SMOOTH_POINT_SIZE_RANGE Range SmoothPointSizeRange;//the smallest and largest supported widths for antialiased points //GL_SMOOTH_POINT_SIZE_GRANULARITY Portable::Float32 SmoothPointsizeGranularity;//the granularity of sizes for antialiased points //GL_STEREO Portable::Bool Stereo;//indicating whether stereo buffers(left and right) are supported //GL_SubPixel_Bits Portable::UInt32 SubPixelBits; //GL_Max_Array_Texture_Layers Portable::UInt32 MaxArrayTextureLayers; //GL_Max_RenderBuffer_Size Portable::UInt32 MaxRenderBufferSize; //GL_Max_Viewports Portable::UInt32 MaxViewports; //GL_Viewport_Subpixel_Bits Portable::UInt32 ViewportSubPixelBits; //GL_Viewport_Bounds_Range Geometry::Size ViewportBoundsRange; //GL_Layer_Provoking_Vertex Portable::UInt32 LayerProvokingVertex; //GL_Max_Texture_Buffer_Size Portable::UInt32 MaxTextureBufferSize; //GL_Max_Rectangle_Texture_Size Portable::UInt32 MaxRectangleTextureSize; //GL_Program_Binary_Formats Collections::Vector<Portable::UInt32> ProgramBinaryFormats; //GL_Num_Program_Binary_Formats Portable::UInt32 NumProgramBinaryFormats; //GL_Shader_Binary_Formats Collections::Vector<Portable::UInt32> ShaderBinaryFormats; //gl_num_shader_binary_formats Portable::UInt32 NumShaderBinaryFormats; //gl_Shader_compiler Portable::Bool ShaderCompiler; //gl_extensions Collections::Vector<Portable::String> Extensions; //gl_num_extensions Portable::UInt32 NumExtenions; //gl_major_version Portable::UInt32 MajorVersion; //gl_minor_version Portable::UInt32 MinorVersion; //gl_context_flags Portable::UInt32 ContextFlags; //gl_renderer Portable::String Renderer; //gl_shading_language_version Portable::String ShadingLanguageVersion; Portable::UInt32 ShaderModel; //gl_Vendor Portable::String m_Vendor; //gl_version Portable::String m_Version; //gl_Max_Vertex_Uniform_Vectors Portable::UInt32 MaxVertexUniformVectors; //gl_Max_Vertex_Uniform_Blocks Portable::UInt32 MaxVertexUniformBlocks; //gl_Max_Vertex_Output_Components Portable::UInt32 MaxVertexOutputComponents; //gl_Max_Tess_Gen_Level Portable::UInt32 MaxTessGenLevel; //gl_Max_Patch_Vertices Portable::UInt32 MaxPatchVertices; //gl_Max_Tess_Control_Uniform_Components Portable::UInt32 MaxTessControlUniformComponents; //gl_Max_Tess_Evaluation_Uniform_Components Portable::UInt32 MaxTessEvaluationUniformComponents; //gl_Max_Tess_Control_Texture_Image_Units Portable::UInt32 MaxTessControlTextureImageUnits; //gl_Max_Tess_Evaluation_Texture_Image_Units Portable::UInt32 MaxTessEvaluationTextureImageUnits; //gl_Max_Tess_Control_Output_Components Portable::UInt32 MaxTessControlOutputComponents; //gl_Max_Tess_Patch_Components Portable::UInt32 MaxTessPatchComponents; //gl_Max_Tess_Control_Total_Output_Components Portable::UInt32 MaxTessControlTotalOutputComponents; //gl_Max_Tess_Evaluation_Output_Components Portable::UInt32 MaxTessEvaluationOutputComponents; //gl_Max_Tess_Control_Input_Components Portable::UInt32 MaxTessControlInputComponents; //gl_Max_Tess_Evaluation_Input_Components Portable::UInt32 MaxTessEvaluationInputComponents; //gl_Max_Tess_Control_Uniform_Blocks Portable::UInt32 MaxTessControlUniformBlocks; //gl_Max_Tess_Evaluation_Uniform_Blocks Portable::UInt32 MaxTessEvaluationUniformBlocks; //gl_Max_Geometry_Uniform_Blocks Portable::UInt32 MaxGeometryUniformBlocks; //gl_Max_Geometry_Input_Components Portable::UInt32 MaxGeometryInputComponents; //gl_Max_Geometry_Output_Components Portable::UInt32 MaxGeometryOutputComponents; //gl_Max_Geometry_Output_Vertices Portable::UInt32 MaxGeometryOutputVertices; //gl_Max_Geometry_Total_Output_Components Portable::UInt32 MaxGeometryTotalOutputComponents; //gl_Max_Geometry_Texture_Image_Units Portable::UInt32 MaxGeometryTextureImageUnits; //gl_Max_Geometry_Shader_Invocations Portable::UInt32 MaxGeometryShaderInvocations; //gl_Max_Vertex_Streams Portable::UInt32 MaxVertexStreams; //gl_Max_Fragment_Uniform_Components Portable::UInt32 MaxFragmentUniformComponents; //gl_Max_Fragment_Uniform_Vectors Portable::UInt32 MaxFragmentUniformVectors; //gl_Max_Fragment_Uniform_Blocks Portable::UInt32 MaxFragmentUniformBlocks; //gl_Max_Fragment_Input_Components Portable::UInt32 MaxFragmentInputComponents; //gl_Min_Program_Texel_Offset Portable::UInt32 MinProgramTexelOffset; //gl_Max_Program_Texel_Offset Portable::UInt32 MaxProgramTexelOffset; //gl_Min_Program_Texture_Gather_Offset Portable::UInt32 MinProgramTextureGatherOffset; //gl_Max_Program_Texture_Gather_Offset Portable::UInt32 MaxProgramTextureGatherOffset; //gl_Max_Uniform_Buffer_Bindings Portable::UInt32 MaxUniformBufferBindings; //gl_Max_Uniform_Block_Size Portable::UInt32 MaxUniformBlockSize; //gl_Uniform_Buffer_Offset_Alignment Portable::UInt32 UniformBufferOffsetAlignment; //gl_Max_Combined_Uniform_Blocks Portable::UInt32 MaxCombinedUniformBlocks; //gl_Max_Varying_Components Portable::UInt32 MaxVaryingComponents; //gl_Max_Vaying_Vectors Portable::UInt32 MaxVayingVectors; //gl_Max_Combined_Texture_Image_Units Portable::UInt32 MaxCombinedTextureImageUnits; //gl_Max_Subroutines Portable::UInt32 MaxSubroutines; //gl_Max_Subroutine_Uniform_Locations Portable::UInt32 MaxSubroutineUniformLocations; //gl_Max_Combined_Vertex_Uniform_Components Portable::UInt32 MaxCombinedVertexUniformComponents; //gl_Max_Combined_Geometry_Uniform_Components Portable::UInt32 MaxCombinedGeometryUniformComponents; //gl_Max_Combined_Tess_Control_Uniform_Components Portable::UInt32 MaxCombinedTessControlUniformComponents; //gl_Max_Combined_Tess_Evaluation_Uniform_Components Portable::UInt32 MaxCombinedTessEvaluationUniformComponents; //gl_Max_Combined_Fragment_Uniform_Components Portable::UInt32 MaxCombinedFragmentUniformComponents; //gl_Max_Sample_Mask_Word Portable::UInt32 MaxSampleMaskWord; //gl_Max_Color_Texture_Samples Portable::UInt32 MaxColorTextureSamples; //gl_Max_Depth_Texture_Samples Portable::UInt32 MaxDepthTextureSamples; //gl_Max_Interger_Samples Portable::UInt32 MaxIntergerSamples; //gl_Query_Counter_Bits Portable::UInt32 QueryCounterBits[3]; //gl_Max_Server_Wait_Timeout Portable::UInt64 MaxServerWaitTimeout; //gl_Min_Fragment_Interpolation_Offset Portable::Float32 MinFragmentInterpolationOffset; //gl_Max_Fragment_Interpolation_Offset Portable::Float32 MaxFragmentInterpolationOffset; //gl_Fragment_Interpolation_Offset_Bits Portable::UInt32 FragmentInterpolationOffsetBits; //gl_Max_Transform_Feedback_Interleaved_Components Portable::UInt32 MaxTransformFeedbackInterleavedComponents; //gl_Max_Transform_Feedback_Separate_Attribs Portable::UInt32 MaxTransformFeedbackSeparateAttribs; //gl_Max_Transform_Feedback_Separete_Components Portable::UInt32 MaxTransformFeedbackSepareteComponents; //gl_Max_Transform_Feedback_Buffers Portable::UInt32 MaxTransformFeedbackBuffers; //gl_Max_Dual_Source_Draw_Buffers Portable::UInt32 MaxDualSourceDrawBuffers; //gl_Sample_Buffers Portable::UInt32 SampleBuffers; //gl_Samples Portable::UInt32 Samples; //gl_Max_Color_Attachments Portable::UInt32 MaxColorAttachments; //gl_Max_Samples Portable::UInt32 MaxSamples; //gl_Implementation_Color_Read_Type Portable::UInt32 ImplementationColorReadType; //gl_Implementation_Color_Read_Format Portable::UInt32 ImplementationColorReadFormat; };
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.