Skip to content

Instantly share code, notes, and snippets.

View Pikachuxxxx's full-sized avatar
🎩
lol

Phani Srikar Pikachuxxxx

🎩
lol
View GitHub Profile
@Pikachuxxxx
Pikachuxxxx / psvita-toolchain-premake5.lua
Last active April 30, 2022 06:35
PSVita premake custom arm-vita-eabi tool chain build test
VITASDK = os.getenv("VITASDK")
if VITASDK ~= nil then
print("VITASDK found at : " .. VITASDK)
else
print("VITASDK Env variable not set, please check your environment settings")
end
-- define custom arm-vita-eabi toolchain for compilation and VPK creation
premake.tools.arm_gcc = {}
@Pikachuxxxx
Pikachuxxxx / ToneMapper.frag
Created October 6, 2021 05:48
A Fragment Shader with various tone mapping algorithms
#version 330 core
#extension GL_ARB_shading_language_include : require
out vec4 color;
uniform sampler2D renderTex;
uniform vec2 resolution;
uniform int toneMapMode;
////////////////////////////////////////////////////////////////////////////////
@Pikachuxxxx
Pikachuxxxx / bone_vs.vert
Created September 21, 2021 04:20
A vertex shader to visualise bones
layout (location = 0) in vec3 VS_IN_Position;
layout (location = 1) in vec3 VS_IN_Normal;
const int MAX_BONES = 128;
layout (std140) uniform u_GlobalUBO
{
mat4 view;
mat4 projection;
};
@Pikachuxxxx
Pikachuxxxx / RoundedMainWindow.h
Last active October 6, 2021 14:27
A small snippet to render a rounded QT main window
void resizeEvent(QResizeEvent* event)
{
QImage image(this->size(), QImage::Format_Mono);
image.fill(0);
int roundness = 20;
if (!this->isFullScreen() && !this->isMaximized()) {
//image.setPixel(0, 0, 1); image.setPixel(1, 0, 1); image.setPixel(2, 0, 1); image.setPixel(3, 0, 1); image.setPixel(4, 0, 1); image.setPixel(5, 0, 1); image.setPixel(6, 0, 1);
//image.setPixel(0, 1, 1); image.setPixel(1, 1, 1); image.setPixel(2, 1, 1); image.setPixel(3, 1, 1); image.setPixel(4, 1, 1);
@Pikachuxxxx
Pikachuxxxx / SplashScreenMacOS.m
Created September 14, 2021 11:05
A splash screen demo using native NSApplication and NSWindow for MacOS
#import <Cocoa/Cocoa.h>
// clang -framework Foundation -framework Cocoa ./src/main.m -o ./bin/main && ./bin/main
@interface SampleClass:NSObject
- (NSImage *)resizedImage:(NSImage *)sourceImage toPixelDimensions:(NSSize)newSize;
- (void) RunApp;
@end
@implementation SampleClass
@Pikachuxxxx
Pikachuxxxx / cerealTest.cpp
Created September 12, 2021 12:46
Test code with cereal serialisation library
#include <iostream>
// Std. Libraries
#include <fstream>
// Cereal Includes
#include <cereal/types/unordered_map.hpp>
#include <cereal/types/memory.hpp>
#include <cereal/archives/json.hpp>
@Pikachuxxxx
Pikachuxxxx / VulkanCheckResult.h
Created August 22, 2021 13:08
Utility Macros to check Vulkan Function VKResult and report them in a nice ASCI formatted way
#include <vulkan/vulkan.h>
#include <unordered_map>
#include <vector>
#include <iostream>
static std::unordered_map<VkResult, std::string> ErrorDescriptions = {
{VK_SUCCESS, "Command successfully completed"},
{VK_NOT_READY, "A fence or query has not yet completed"},
{VK_TIMEOUT, "A wait operation has not completed in the specified time"},
{VK_EVENT_SET, "An event is signaled"},
@Pikachuxxxx
Pikachuxxxx / Window.cpp
Created August 22, 2021 13:07
A ready to use GLFW Window with input management and other utilities
#include "Window.h"
Window::Window(const char *title, int width, int height) : backgroundColor(glm::vec4(0, 0, 0, 1))
{
m_Title = title;
m_Width = width;
m_Height = height;
if(!init())
glfwTerminate();
#include "Camera3D.h"
// Constructor with vectors
Camera3D::Camera3D(glm::vec3 position, glm::vec3 up, float yaw, float pitch) : Front(glm::vec3(0.0f, 0.0f, -1.0f)), MovementSpeed(SPEED), MouseSensitivity(SENSITIVTY), Zoom(ZOOM)
{
this->Position = position;
this->WorldUp = up;
this->Yaw = yaw;
this->Pitch = pitch;
this->updateCameraVectors();
@Pikachuxxxx
Pikachuxxxx / modulatingcircle.frag
Created July 27, 2021 07:06
Pixel shader written in GLSL to generate a modulating travelling waves on a circle
#version 410 core
uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
vec2 random2(vec2 st){
st = vec2( dot(st,vec2(127.1,311.7)),
dot(st,vec2(269.5,183.3)) );
return -1.0 + 2.0*fract(sin(st)*43758.5453123);