diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp
index e536895da6527aec02a806176ce1113ed8f9202f..66854f30f78e1f57440553a749a6ab044520783d 100644
--- a/src/vkcv/PipelineManager.cpp
+++ b/src/vkcv/PipelineManager.cpp
@@ -258,45 +258,9 @@ namespace vkcv
         vk::PipelineViewportStateCreateInfo pipelineViewportStateCreateInfo =
                 createPipelineViewportStateCreateInfo(config);
 
-        vk::CullModeFlags cullMode;
-        switch (config.m_culling) {
-            case CullMode::None:
-                cullMode = vk::CullModeFlagBits::eNone;
-                break;
-            case CullMode::Front:
-                cullMode = vk::CullModeFlagBits::eFront;
-                break;
-            case CullMode::Back:
-                cullMode = vk::CullModeFlagBits::eBack;
-                break;
-            default:
-                vkcv_log(LogLevel::ERROR, "Unknown CullMode");
-                cullMode = vk::CullModeFlagBits::eNone;
-        }
-
         // rasterization state
-        vk::PipelineRasterizationStateCreateInfo pipelineRasterizationStateCreateInfo(
-                {},
-                config.m_EnableDepthClamping,
-                false,
-                vk::PolygonMode::eFill,
-                cullMode,
-                vk::FrontFace::eCounterClockwise,
-                false,
-                0.f,
-                0.f,
-                0.f,
-                1.f
-        );
-
-        vk::PipelineRasterizationConservativeStateCreateInfoEXT conservativeRasterization;
-        if (config.m_UseConservativeRasterization) {
-            conservativeRasterization = vk::PipelineRasterizationConservativeStateCreateInfoEXT(
-                    {},
-                    vk::ConservativeRasterizationModeEXT::eOverestimate,
-                    0.f);
-            pipelineRasterizationStateCreateInfo.pNext = &conservativeRasterization;
-        }
+        vk::PipelineRasterizationStateCreateInfo pipelineRasterizationStateCreateInfo =
+                createPipelineRasterizationStateCreateInfo(config);
 
         // multisample state
         vk::PipelineMultisampleStateCreateInfo pipelineMultisampleStateCreateInfo(
@@ -613,4 +577,49 @@ namespace vkcv
                                                                             &scissor);
         return pipelineViewportStateCreateInfo;
     }
+
+    vk::PipelineRasterizationStateCreateInfo
+    PipelineManager::createPipelineRasterizationStateCreateInfo(const PipelineConfig &config) {
+
+        vk::CullModeFlags cullMode;
+        switch (config.m_culling) {
+            case CullMode::None:
+                cullMode = vk::CullModeFlagBits::eNone;
+                break;
+            case CullMode::Front:
+                cullMode = vk::CullModeFlagBits::eFront;
+                break;
+            case CullMode::Back:
+                cullMode = vk::CullModeFlagBits::eBack;
+                break;
+            default:
+            vkcv_log(LogLevel::ERROR, "Unknown CullMode");
+                cullMode = vk::CullModeFlagBits::eNone;
+        }
+
+        vk::PipelineRasterizationStateCreateInfo pipelineRasterizationStateCreateInfo (
+                {},
+                config.m_EnableDepthClamping,
+                false,
+                vk::PolygonMode::eFill,
+                cullMode,
+                vk::FrontFace::eCounterClockwise,
+                false,
+                0.f,
+                0.f,
+                0.f,
+                1.f
+        );
+
+        vk::PipelineRasterizationConservativeStateCreateInfoEXT conservativeRasterization;
+        if (config.m_UseConservativeRasterization) {
+            conservativeRasterization = vk::PipelineRasterizationConservativeStateCreateInfoEXT(
+                    {},
+                    vk::ConservativeRasterizationModeEXT::eOverestimate,
+                    0.f);
+            pipelineRasterizationStateCreateInfo.pNext = &conservativeRasterization;
+        }
+
+        return pipelineRasterizationStateCreateInfo;
+    }
 }
diff --git a/src/vkcv/PipelineManager.hpp b/src/vkcv/PipelineManager.hpp
index 0e80b02eb00da6e7bc9c4e7f34c876ccc313ebe9..18dd5b993869b24711826d7ea618760e9ca2fb8a 100644
--- a/src/vkcv/PipelineManager.hpp
+++ b/src/vkcv/PipelineManager.hpp
@@ -82,10 +82,24 @@ namespace vkcv
         vk::PipelineInputAssemblyStateCreateInfo createPipelineInputAssemblyStateCreateInfo(const PipelineConfig &config);
 
         /**
-         * Create a Pipeline Viewport State Create Info Struct with default set viewport and scissor settings
+         * Create a Pipeline Viewport State Create Info Struct with default set viewport and scissor settings.
          * @param config provides with and height of the output window
          * @return Pipeline Viewport State Create Info Struct
          */
         vk::PipelineViewportStateCreateInfo createPipelineViewportStateCreateInfo(const PipelineConfig &config);
+
+        /**
+         * Create a Pipeline Rasterization State Create Info Struct with default values set to:
+         * Rasterizer Discard: Disabled
+         * Polygon Mode: Fill
+         * Front Face: Counter Clockwise
+         * Depth Bias: Disabled
+         * Line Width: 1.0
+         * Depth Clamping and Culling Mode ist set by the Pipeline Config
+         * @param config sets Depth Clamping and Culling Mode
+         * @return Pipeline Rasterization State Create Info Struct
+         */
+        vk::PipelineRasterizationStateCreateInfo createPipelineRasterizationStateCreateInfo(const PipelineConfig &config);
+
     };
 }