Jump to content
Korean Random

SkepticalFox

Premium Member
  • Content Count

    4,438
  • Joined

  • Last visited

  • Days Won

    72

Posts posted by SkepticalFox


  1. @VLBRTN https://github.com/v2v3v4/BigWorld-Engine-2.0.1/blob/620e0f244739188a5b183f1f28b278f16d182370/src/tools/mayavisualexporter/visual_mesh.cpp#L1321

    похоже ты прав, свойства шейдера не экспортируются, но как по мне это не проблема, можно вручную заполнить

    (ну или доработать экспортер)


  2. Geometric shader:

    #version 450 core
    
    layout (points) in;
    layout (line_strip, max_vertices = 24) out;
    
    uniform mat4 invViewProj_to_draw;
    uniform mat4 viewProj;
    
    // in case of reversed-z it should be 0
    #define NEAR_DEPTH -1
    
    const vec4 f[8] = vec4[8](
        // near
        vec4(-1, -1, NEAR_DEPTH, 1),
        vec4(1,  -1, NEAR_DEPTH, 1),
        vec4(1,   1, NEAR_DEPTH, 1),
        vec4(-1,  1, NEAR_DEPTH, 1),
        // far
        vec4(-1, -1,  1, 1),
        vec4(1,  -1,  1, 1),
        vec4(1,   1,  1, 1),
        vec4(-1,  1,  1, 1)
    );
    
    void main(void)
    {
        vec4 v[8];
    
        for (int i = 0; i < 8; i++) {
          vec4 ff = invViewProj_to_draw * f[i];
          v[i].xyz = ff.xyz / ff.w;
          v[i].w = 1.0f;
          v[i] = viewProj * v[i];
        }
      
        gl_Position = v[0];
        EmitVertex();
        gl_Position = v[1];
        EmitVertex();
        EndPrimitive(); // 1
    
        gl_Position = v[1];
        EmitVertex();
        gl_Position = v[2];
        EmitVertex();
        EndPrimitive(); // 2
    
        gl_Position = v[2];
        EmitVertex();
        gl_Position = v[3];
        EmitVertex();
        EndPrimitive(); // 3
    
        gl_Position = v[3];
        EmitVertex();
        gl_Position = v[0];
        EmitVertex();
        EndPrimitive(); // 4
    
        gl_Position = v[4];
        EmitVertex();
        gl_Position = v[5];
        EmitVertex();
        EndPrimitive(); // 5
    
        gl_Position = v[5];
        EmitVertex();
        gl_Position = v[6];
        EmitVertex();
        EndPrimitive(); // 6
    
        gl_Position = v[6];
        EmitVertex();
        gl_Position = v[7];
        EmitVertex();
        EndPrimitive(); // 7
    
        gl_Position = v[7];
        EmitVertex();
        gl_Position = v[4];
        EmitVertex();
        EndPrimitive(); // 8
    
        gl_Position = v[0];
        EmitVertex();
        gl_Position = v[4];
        EmitVertex();
        EndPrimitive(); // 9
    
        gl_Position = v[1];
        EmitVertex();
        gl_Position = v[5];
        EmitVertex();
        EndPrimitive(); // 10
    
        gl_Position = v[2];
        EmitVertex();
        gl_Position = v[6];
        EmitVertex();
        EndPrimitive(); // 11
    
        gl_Position = v[3];
        EmitVertex();
        gl_Position = v[7];
        EmitVertex();
        EndPrimitive(); // 12
    }
    Since the shader is useful, I post it here. I don’t remember I took it, or wrote it myself.
    • Upvote 3

  3. Enhanced Sync включен?

    У AMD жопа с драйверами, они не могут без багов никак:

    Quote

    Enhanced Sync may cause a black screen to occur when enabled on some games and system configurations. Any users who may be experiencing issues with Enhanced Sync enabled should disable it as a temporary workaround.

    https://www.amd.com/en/support/kb/release-notes/rn-rad-win-21-8-1

     

    а может видяхе просто пора на пенсию...


  4. @Red_Noise вообще для dds есть не так много библиотек, я использую эту https://www.evl.uic.edu/cavern/fastdxt/

    она супер быстрая и нужна для realtime сжатия текстур для virtual textures

    есть даже публикация по сравнению скорости библиотек (dxt compression)

    image.png.6c39e4d64f39ae8baab41564fcf95ed5.png

    конечно для python я не видел библиотек, но что мешает написать обертку (или через ctypes работать)

    для .NET я так и сделал - написал managed C++/CLI обертку над FastDXT

     

    P.S. FastDXT не пишет header dds файла, надо его добавлять самому, но это тривиально

    P.P.S. в windows еще есть такая тема:

    Quote

    Specifying the FILE_ATTRIBUTE_TEMPORARY attribute causes file systems to avoid writing data back to mass storage if sufficient cache memory is available, because an application deletes a temporary file after a handle is closed. In that case, the system can entirely avoid writing the data. Although it does not directly control data caching in the same way as the previously mentioned flags, the FILE_ATTRIBUTE_TEMPORARY attribute does tell the system to hold as much as possible in the system cache without writing and therefore may be of concern for certain applications.

    так что я не думаю что создавать файл прямо какой-то супер медленный вариант

    • Upvote 1

  5. @Starcrusher if you know python then it is not difficult to do it ( relatively ).

    https://bitbucket.org/SkepticalFox/wot-space.bin-utils/src/master/

    https://bitbucket.org/SkepticalFox/bigworld-blender-tools-wot-wowp-wows/src/master/

    https://github.com/mikeoverbay/nuTerra

    these repos can be a starting point to write an export script
     
    There are also different kinds of rippers (for ex:  https://renderdoc.org/ , https://ninjaripper.com/ ) but i haven't tested how they work with wot
    • Upvote 1

  6. https://hex-rays.com/products/ida/news/7_2/

    Quote

    Finally, with IDA v7.2 we introduce a new (experimental) Lumina server. Think of it as about a public storage of popular function patterns. The lumina server holds metadata about functions (like names, comments, prototypes, operand representation, etc). IDA can ask Lumina to recognize functions in the current database and apply the corresponding metadata. It is like FLIRT but it is dynamic, stores more information, and can recognize functions that FLIRT cannot.

    кто пробовал Lumina?


  7. Британский предприниматель и основатель Virgin Group Ричард Брэнсон отправится в космос уже 11 июля.

    https://quote.rbc.ru/news/article/60df38079a794755d433898c

     

    Как по мне описаны довольно интересные спекулятивные стратегии.

    Кто будет играть в это казино на следующей неделе?)

    • Upvote 2

  8. @freak527  in what exactly? I think no one is doing server/physics right now.

     

    BTW, there is an open source WoT map viewer project (nuTerra) previously mentioned there https://kr.cm/f/t/45855/c/478357/

    written without using any engines, only modern OpenGL API calls and glsl shaders - VB.NET, OpenGL 4.5 (basic shadow mapping(cascaded in progress), tessellation, virtual texturing, GPU culling, occlusion culling, deferred shading)
    Authors: @Coffee_ and me
    NVIDIA only (Intel & AMD don't support bindless textures)

    image.thumb.png.0300a8e02802d96ff65cd93e62261664.png

    NET5 port not entirely successful, may be bugs (a lot of bugs )

    • Upvote 1

  9. 7 minutes ago, Mermaid said:

    А вы используете XFW в своих проектах? Просто если он не так уж и сильно нужен, наверное проще без него начинать.

    наверное никто не использует xfw здесь (ну почти), лично я моды не делаю, только небольшой research иногда провожу

×
×
  • Create New...