Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About Goyira

  • Rank

Personal Information

  • Role
  • Interests


  • Twitter
  1. Goyira

    Fragment shader and normals.

    Oh, you mean that when you get the value through interpolation you get an intermediate color that generates a gradient effect, and there are no abrupt changes between the colors of the different illuminated pixels?
  2. Why, at the fragment shader level, when it is intended to obtain normal value in a specific pixel, is it obtained by interpolating the normal vectors of the vertices that form the triangle? Being a point on the surface of a triangle, wouldn't the normal vector directly be the normal vector of that triangle? I think there is something I am not considering. Thank you.
  3. Goyira

    How should a DLL be designed?

    This information is very valuable to me. Thanks for explaining.
  4. Goyira

    How should a DLL be designed?

    Hi, Could you tell me why are build tools written in C #? I see it in your Forge and I have seen it in Unreal(Unreal Build Tool). I see that it is a very complete tool.
  5. Hi. I have no idea what's going on here. I understand that macros are used to paste code where the macro is located, and that they can take parameters in their use, but this exceeds me. What I understand is that using macros first sets the header or signature of a function (GetTransitionTable), and inside, defines a static variable TRANSITION_TABLE, which is an array. With the following macro, TRANSITION_ENTRY, fill in the array, I suppose doing an implicit construction of objects, and converting the parameters into the objects expected by the potential object of each element of the array. Finally add a null element at the end. Then, in the use of macros, pass the states they expect to fill in the array. Do you basically use the macro to save writing much more repeated text than you would have to write if you didn't use it? Is this use correct? In The C ++ Programming Language, Bjarne Stroustrup, apart from practically not addressing the issue, seems very contrary to the use of macros. Thanks. Used as:
  6. Goyira

    How should a DLL be designed?

    Wow, thank you very much. This is a lot of information, I will try to digest it.
  7. I know how DLL works, how it is created and how it is imported at IDE level, but I don't know anything about its design. Imagine that I want to abstract the Engine project into a DLL, and use it from another project called Game. What will be the points through which Game accesses the Engine classes and functionalities? Should a single access point be created through an Engine object that has access to everything and to which I ask for things, or create several essential objects and access to functionalities is provided through each of them, such as Engine, Actor / GameObject, Level? Thank you.
  8. Goyira

    PhysX 4.0 Announced as Open Source

    Stupid question here. Does PhysX works on ATI graphic cards? I mean, there are many features that works with Nvidia cards particularities. Do they just disable that functionalities?
  9. I'm confused about to large, generic, ambiguous classes like Engine, Game, Level or Scene that we usually see around videogames and engines. Does "Engine" have a "Game", does the "Game" have "Levels", does "Levels" have "Scenes"? I've seen engine without "Game", games without "Engine" class, "Game" or "Application" was the "Engine", I've seen "Game" that play the role of "Levels", and "Levels" called "Scene". Could someone provide some clarity and precision about these concepts and terms and their relationships?
  10. I am reading the book "Game Programming in C++" by Sanjay Madhav, and it is very frequent, almost constant, to see how instead of using includes in the interfaces of the classes, he uses the keyword "class" before the type that he intends to use so that the compiler accept it. I haven't seen it done anywhere else, and I don't know if it's okay. It works. Does this technique have a name? Is it like forward declaration? Example: #pragma once #include <vector> #include "Math.h" #include <cstdint> class Actor { public: enum State { EActive, EPaused, EDead }; Actor(class Game* game); virtual ~Actor(); // Update function called from Game (not overridable) void Update(float deltaTime); // Updates all the components attached to the actor (not overridable) void UpdateComponents(float deltaTime); // Any actor-specific update code (overridable) virtual void UpdateActor(float deltaTime); // ProcessInput function called from Game (not overridable) void ProcessInput(const uint8_t* keyState); // Any actor-specific input code (overridable) virtual void ActorInput(const uint8_t* keyState); // Getters/setters const Vector3& GetPosition() const { return mPosition; } void SetPosition(const Vector3& pos) { mPosition = pos; mRecomputeWorldTransform = true; } float GetScale() const { return mScale; } void SetScale(float scale) { mScale = scale; mRecomputeWorldTransform = true; } const Quaternion& GetRotation() const { return mRotation; } void SetRotation(const Quaternion& rotation) { mRotation = rotation; mRecomputeWorldTransform = true; } void ComputeWorldTransform(); const Matrix4& GetWorldTransform() const { return mWorldTransform; } Vector3 GetForward() const { return Vector3::Transform(Vector3::UnitX, mRotation); } State GetState() const { return mState; } void SetState(State state) { mState = state; } class Game* GetGame() { return mGame; } // Add/remove components void AddComponent(class Component* component); void RemoveComponent(class Component* component); private: // Actor's state State mState; // Transform Matrix4 mWorldTransform; Vector3 mPosition; Quaternion mRotation; float mScale; bool mRecomputeWorldTransform; std::vector<class Component*> mComponents; class Game* mGame; };
  11. I think it compiles well, but it does not link, it may not find the DLL. Does anyone use SDL2 and CLion and have a configuration that works? Where do you put includes, libs and dll? How is your CMakeLists?
  12. I've reading about game/engine initialization both in Game Engine Architecture and Game Coding Complete. I have understood there is a problem with C++ and initialization, because initialization of global variables is non-deterministic, and the order your initialize modules of engine is critic since some modules depends other modules. They explains some approaches to avoid the undefined behavior, but I wonder something. Why must I initialize modules like global variables? Why don't initialize like members of Application object? Maybe last would lead to annoying scope issues, but, why don't initialize in main() scope? Would they have "global" scope in main() and deterministic initialization? Thank you and sorry for my English.
  13. I have seen that directx9 contains libraries that allow working with .fx animation files. Are they still being used, or are there other libraries?
  14. Is it worth paying $ 70 for the fourth edition? I can get the third edition for $ 20 ... Did you like it overall?
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!